[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] tools/misc: Cleanup makefile



commit 9a7078623d084a638c1bf4f66b5f13fe4274f6ef
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Thu Jan 8 13:34:22 2015 +0000
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Mon Jan 12 16:12:51 2015 +0000

    tools/misc: Cleanup makefile
    
    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@xxxxxxxxxx>
    CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
    CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
    CC: Wei Liu <wei.liu2@xxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 tools/misc/Makefile |   77 ++++++++++++++++++++++++++++++--------------------
 1 files changed, 46 insertions(+), 31 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 7a2bfd2..a255c22 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -1,42 +1,53 @@
 XEN_ROOT=$(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-CFLAGS += -Werror
-
+CFLAGS += -Werror -I$(XEN_ROOT)/tools
 CFLAGS += $(CFLAGS_libxenctrl)
 CFLAGS += $(CFLAGS_xeninclude)
 CFLAGS += $(CFLAGS_libxenstore)
-# xen-hptool.c and xen-mfndump.c incorrectly use libxc internals
-CFLAGS += -I$(XEN_ROOT)/tools/libxc
-
-HDRS     = $(wildcard *.h)
 
-TARGETS-y := xenperf xenpm xen-tmem-list-parse gtraceview gtracestat 
xenlockprof xenwatchdogd xencov
-TARGETS-$(CONFIG_X86) += xen-detect xen-hvmctx xen-hvmcrash xen-lowmemd 
xen-mfndump
-TARGETS-$(CONFIG_MIGRATE) += xen-hptool
-TARGETS := $(TARGETS-y)
+# 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)
 
-INSTALL_BIN-y := xencons xencov_split
-INSTALL_BIN-$(CONFIG_X86) += xen-detect
-INSTALL_BIN := $(INSTALL_BIN-y)
-
-INSTALL_SBIN-y := xen-bugtool xenperf xenpm xen-tmem-list-parse gtraceview \
-       gtracestat xenlockprof xenwatchdogd xen-ringwatch xencov
-INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd xen-mfndump
+# 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 := $(INSTALL_SBIN-y)
-
-INSTALL_PRIVBIN-y := xenpvnetboot
-INSTALL_PRIVBIN := $(INSTALL_PRIVBIN-y)
-
-# Include configure output (config.h) to headers search path
-CFLAGS += -I$(XEN_ROOT)/tools
-
-.PHONY: all
-all: build
-
-.PHONY: build
-build: $(TARGETS)
+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
@@ -49,7 +60,7 @@ install: build
 
 .PHONY: clean
 clean:
-       $(RM) *.o $(TARGETS) *~ $(DEPS)
+       $(RM) *.o $(TARGETS_BUILD) *~ $(DEPS)
 
 xen-hvmctx: xen-hvmctx.o
        $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
@@ -69,9 +80,13 @@ gtracestat: gtracestat.o
 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)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.