1XEN_ROOT=$(CURDIR)/../.. 2include $(XEN_ROOT)/tools/Rules.mk 3 4# Include configure output (config.h) 5CFLAGS += -include $(XEN_ROOT)/tools/config.h 6CFLAGS += $(CFLAGS_libxenevtchn) 7CFLAGS += $(CFLAGS_libxenctrl) 8CFLAGS += $(CFLAGS_libxenguest) 9CFLAGS += $(CFLAGS_xeninclude) 10CFLAGS += $(CFLAGS_libxenstore) 11 12# Everything to be installed in regular bin/ 13INSTALL_BIN-$(CONFIG_X86) += xen-cpuid 14INSTALL_BIN-$(CONFIG_X86) += xen-detect 15INSTALL_BIN += xencov_split 16INSTALL_BIN += $(INSTALL_BIN-y) 17 18# Everything to be installed in regular sbin/ 19INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool 20INSTALL_SBIN-$(CONFIG_X86) += xen-hvmcrash 21INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx 22INSTALL_SBIN-$(CONFIG_X86) += xen-lowmemd 23INSTALL_SBIN-$(CONFIG_X86) += xen-mceinj 24INSTALL_SBIN-$(CONFIG_X86) += xen-memshare 25INSTALL_SBIN-$(CONFIG_X86) += xen-mfndump 26INSTALL_SBIN-$(CONFIG_X86) += xen-ucode 27INSTALL_SBIN-$(CONFIG_X86) += xen-vmtrace 28INSTALL_SBIN += xencov 29INSTALL_SBIN += xenhypfs 30INSTALL_SBIN += xenlockprof 31INSTALL_SBIN += xenperf 32INSTALL_SBIN += xenpm 33INSTALL_SBIN += xenwatchdogd 34INSTALL_SBIN += xen-access 35INSTALL_SBIN += xen-livepatch 36INSTALL_SBIN += xen-diag 37INSTALL_SBIN += $(INSTALL_SBIN-y) 38 39# Everything to be installed 40TARGETS_ALL := $(INSTALL_BIN) $(INSTALL_SBIN) 41 42# Everything which only needs copying to install 43TARGETS_COPY += xencov_split 44 45# Everything which needs to be built 46TARGETS := $(filter-out $(TARGETS_COPY),$(TARGETS_ALL)) 47 48.PHONY: all 49all: $(TARGETS) 50 51.PHONY: install 52install: all 53 $(INSTALL_DIR) $(DESTDIR)$(bindir) 54 $(INSTALL_DIR) $(DESTDIR)$(sbindir) 55 $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) 56 $(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(bindir) 57 $(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(sbindir) 58 59.PHONY: uninstall 60uninstall: 61 rm -f $(addprefix $(DESTDIR)$(sbindir)/, $(INSTALL_SBIN)) 62 rm -f $(addprefix $(DESTDIR)$(bindir)/, $(INSTALL_BIN)) 63 64.PHONY: clean 65clean: 66 $(RM) *.o $(TARGETS) $(DEPS_RM) 67 68.PHONY: distclean 69distclean: clean 70 71xen-access: xen-access.o 72 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenevtchn) $(APPEND_LDFLAGS) 73 74xen-cpuid: xen-cpuid.o 75 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS) 76 77xen-detect: xen-detect.o 78 $(CC) $(LDFLAGS) -o $@ $< $(APPEND_LDFLAGS) 79 80xen-hvmctx: xen-hvmctx.o 81 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 82 83xen-hvmcrash: xen-hvmcrash.o 84 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxendevicemodel) $(APPEND_LDFLAGS) 85 86xen-memshare: xen-memshare.o 87 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 88 89xen-vmtrace: xen-vmtrace.o 90 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenforeignmemory) $(APPEND_LDFLAGS) 91 92xen-mceinj: xen-mceinj.o 93 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS) 94 95xenperf: xenperf.o 96 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 97 98xenpm: xenpm.o 99 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 100 101xenhypfs: xenhypfs.o 102 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenhypfs) $(APPEND_LDFLAGS) 103 104xenlockprof: xenlockprof.o 105 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 106 107xen-hptool: xen-hptool.o 108 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS) 109 110xenhypfs.o: CFLAGS += $(CFLAGS_libxenhypfs) 111 112xen-mfndump: xen-mfndump.o 113 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS) 114 115xenwatchdogd: xenwatchdogd.o 116 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 117 118xen-livepatch: xen-livepatch.o 119 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 120 121xen-diag: xen-diag.o 122 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 123 124xen-lowmemd: xen-lowmemd.o 125 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS) 126 127xencov: xencov.o 128 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 129 130xen-ucode: xen-ucode.o 131 $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) 132 133-include $(DEPS_INCLUDE) 134