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)
39init-dom0less: LDLIBS += $(call xenlibs-ldlibs,ctrl toollog store light guest foreignmemory)
40
41.PHONY: all
42all: $(TARGETS)
43
44xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
45	$(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
46
47init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
48	$(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
49
50init-dom0less: $(INIT_DOM0LESS_OBJS)
51	$(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
52
53.PHONY: install
54install: all
55	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
56	for i in $(TARGETS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
57
58.PHONY: uninstall
59uninstall:
60	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
61
62.PHONY: clean
63clean:
64	$(RM) *.o $(TARGETS) $(DEPS_RM)
65
66distclean: clean
67