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