1#
2# tools/helpers/Makefile
3#
4
5XEN_ROOT = $(CURDIR)/../..
6include $(XEN_ROOT)/tools/Rules.mk
7
8TARGETS := xen-init-dom0
9ifeq ($(CONFIG_Linux),y)
10ifeq ($(CONFIG_X86),y)
11TARGETS += init-xenstore-domain
12endif
13ifeq ($(CONFIG_ARM),y)
14TARGETS += init-dom0less
15endif
16endif
17
18XEN_INIT_DOM0_OBJS = xen-init-dom0.o init-dom-json.o
19$(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
20$(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenstore)
21$(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenlight)
22$(XEN_INIT_DOM0_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
23xen-init-dom0: LDLIBS += $(call xenlibs-ldlibs,ctrl toollog store light)
24
25INIT_XENSTORE_DOMAIN_OBJS = init-xenstore-domain.o init-dom-json.o
26$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
27$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenguest)
28$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
29$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenstore)
30$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += $(CFLAGS_libxenlight)
31$(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
32init-xenstore-domain: LDLIBS += $(call xenlibs-ldlibs,toollog store ctrl guest light)
33
34INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
35$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
36$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
37$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
38$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
39$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
40init-dom0less: LDLIBS += $(call xenlibs-ldlibs,ctrl evtchn toollog store light guest foreignmemory)
41
42.PHONY: all
43all: $(TARGETS)
44
45xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
46	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
47
48init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
49	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
50
51init-dom0less: $(INIT_DOM0LESS_OBJS)
52	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
53
54.PHONY: install
55install: all
56	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
57	for i in $(TARGETS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
58
59.PHONY: uninstall
60uninstall:
61	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
62
63.PHONY: clean
64clean:
65	$(RM) *.o $(TARGETS) $(DEPS_RM)
66
67distclean: clean
68