1XEN_ROOT=$(CURDIR)/../..
2include $(XEN_ROOT)/tools/Rules.mk
3
4CFLAGS += -Werror
5
6CFLAGS += $(CFLAGS_libxenevtchn)
7CFLAGS += $(CFLAGS_libxenctrl)
8LDLIBS += $(LDLIBS_libxenevtchn)
9LDLIBS += $(LDLIBS_libxenctrl)
10LDLIBS += $(ARGP_LDFLAGS)
11
12BIN-$(CONFIG_X86) = xenalyze
13BIN      = $(BIN-y)
14SBIN     = xentrace xentrace_setsize
15LIBBIN   = xenctx
16SCRIPTS  = xentrace_format
17
18.PHONY: all
19all: build
20
21.PHONY: build
22build: $(BIN) $(SBIN) $(LIBBIN)
23
24.PHONY: install
25install: build
26	$(INSTALL_DIR) $(DESTDIR)$(bindir)
27	$(INSTALL_DIR) $(DESTDIR)$(sbindir)
28	[ -z "$(LIBBIN)" ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
29ifneq ($(BIN),)
30	$(INSTALL_PROG) $(BIN) $(DESTDIR)$(bindir)
31endif
32	$(INSTALL_PROG) $(SBIN) $(DESTDIR)$(sbindir)
33	$(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
34	[ -z "$(LIBBIN)" ] || $(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
35
36.PHONY: uninstall
37uninstall:
38	rm -f $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/, $(LIBBIN))
39	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(SCRIPTS))
40	rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(SBIN))
41ifneq ($(BIN),)
42	rm -f $(addprefix $(DESTDIR)$(bindir)/, $(BIN))
43endif
44
45.PHONY: clean
46clean:
47	$(RM) *.a *.so *.o *.rpm $(BIN) $(SBIN) $(LIBBIN) $(DEPS_RM)
48
49.PHONY: distclean
50distclean: clean
51
52xentrace: xentrace.o
53	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) $(APPEND_LDFLAGS)
54
55xenctx: xenctx.o
56	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) $(APPEND_LDFLAGS)
57
58xentrace_setsize: setsize.o
59	$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS) $(APPEND_LDFLAGS)
60
61xenalyze: xenalyze.o mread.o
62	$(CC) $(LDFLAGS) -o $@ $^ $(ARGP_LDFLAGS) $(APPEND_LDFLAGS)
63
64-include $(DEPS_INCLUDE)
65
66