mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
The existing makefile was awkward with needing to express conditional inclusion for both the build and install rules, and contained both split and unsplit long lines. The INSTALL_* rules now contain the conditional inclusion information, while the TARGET_* rules generate the build list from the complete install list, less the minority of scripts which simply need copying into place. Comments are introduces to aid clarity. In addition, collect the CFLAGS expressions, remove the unreferenced and empty HDRS list, and restrict the libxc internals build fix to the offending binaries. No functional change as a result of this patch, but it is rather more simple to add or remove utilities. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> CC: Ian Campbell <Ian.Campbell@citrix.com> CC: Ian Jackson <Ian.Jackson@eu.citrix.com> CC: Wei Liu <wei.liu2@citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com>
106 lines
3.4 KiB
Makefile
106 lines
3.4 KiB
Makefile
XEN_ROOT=$(CURDIR)/../..
|
|
include $(XEN_ROOT)/tools/Rules.mk
|
|
|
|
CFLAGS += -Werror -I$(XEN_ROOT)/tools
|
|
CFLAGS += $(CFLAGS_libxenctrl)
|
|
CFLAGS += $(CFLAGS_xeninclude)
|
|
CFLAGS += $(CFLAGS_libxenstore)
|
|
|
|
# Everything to be installed in regular bin/
|
|
INSTALL_BIN-$(CONFIG_X86) += xen-detect
|
|
INSTALL_BIN += xencons
|
|
INSTALL_BIN += xencov_split
|
|
INSTALL_BIN += $(INSTALL_BIN-y)
|
|
|
|
# Everything to be installed in regular sbin/
|
|
INSTALL_SBIN += gtracestat
|
|
INSTALL_SBIN += gtraceview
|
|
INSTALL_SBIN += xen-bugtool
|
|
INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
|
|
INSTALL_SBIN-$(CONFIG_X86) += xen-hvmcrash
|
|
INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx
|
|
INSTALL_SBIN-$(CONFIG_X86) += xen-lowmemd
|
|
INSTALL_SBIN-$(CONFIG_X86) += xen-mfndump
|
|
INSTALL_SBIN += xen-ringwatch
|
|
INSTALL_SBIN += xen-tmem-list-parse
|
|
INSTALL_SBIN += xencov
|
|
INSTALL_SBIN += xenlockprof
|
|
INSTALL_SBIN += xenperf
|
|
INSTALL_SBIN += xenpm
|
|
INSTALL_SBIN += xenwatchdogd
|
|
INSTALL_SBIN += $(INSTALL_SBIN-y)
|
|
|
|
# Everything to be installed in a private bin/
|
|
INSTALL_PRIVBIN += xenpvnetboot
|
|
|
|
# Everything to be installed
|
|
TARGETS_ALL := $(INSTALL_BIN) $(INSTALL_SBIN) $(INSTALL_PRIVBIN)
|
|
|
|
# Everything which only needs copying to install
|
|
TARGETS_COPY += xen-bugtool
|
|
TARGETS_COPY += xen-ringwatch
|
|
TARGETS_COPY += xencons
|
|
TARGETS_COPY += xencov_split
|
|
TARGETS_COPY += xenpvnetboot
|
|
|
|
# Everything which needs to be built
|
|
TARGETS_BUILD := $(filter-out $(TARGETS_COPY),$(TARGETS_ALL))
|
|
|
|
.PHONY: all build
|
|
all build: $(TARGETS_BUILD)
|
|
|
|
.PHONY: install
|
|
install: build
|
|
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
|
|
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
|
|
$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
|
|
$(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(BINDIR)
|
|
$(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(SBINDIR)
|
|
$(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(LIBEXEC_BIN)
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
$(RM) *.o $(TARGETS_BUILD) *~ $(DEPS)
|
|
|
|
xen-hvmctx: xen-hvmctx.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
xen-hvmcrash: xen-hvmcrash.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
xenperf: xenperf.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
xenpm: xenpm.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
gtracestat: gtracestat.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(APPEND_LDFLAGS)
|
|
|
|
xenlockprof: xenlockprof.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
# xen-hptool incorrectly uses libxc internals
|
|
xen-hptool.o: CFLAGS += -I$(XEN_ROOT)/tools/libxc
|
|
xen-hptool: xen-hptool.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS)
|
|
|
|
# xen-mfndump incorrectly uses libxc internals
|
|
xen-mfndump.o: CFLAGS += -I$(XEN_ROOT)/tools/libxc
|
|
xen-mfndump: xen-mfndump.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(APPEND_LDFLAGS)
|
|
|
|
xenwatchdogd: xenwatchdogd.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
xen-lowmemd: xen-lowmemd.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(APPEND_LDFLAGS)
|
|
|
|
gtraceview: gtraceview.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(CURSES_LIBS) $(APPEND_LDFLAGS)
|
|
|
|
xencov: xencov.o
|
|
$(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
|
|
|
|
-include $(DEPS)
|