From: Michael Tokarev Date: Sun, 22 Jun 2014 06:55:23 +0000 (+0400) Subject: build-sys: introduce install-prog macro to install&strip binaries and use it X-Git-Tag: qemu-xen-4.6.0-rc1~356^2~5 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0d65942611263a37f79bc0522bf77bedbdf9ed20;p=qemu-xen.git build-sys: introduce install-prog macro to install&strip binaries and use it Use common rule (macro) to install and strip binaries, and use it in all places where we install binaries, instead of fixing bugs like 1319493 in every place. (This fixes https://bugs.launchpad.net/bugs/1319493) Signed-off-by: Michael Tokarev --- diff --git a/Makefile b/Makefile index 7d0c8ec7cc..145adb68a2 100644 --- a/Makefile +++ b/Makefile @@ -385,12 +385,8 @@ install-sysconfig: install-datadir install-confdir install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig \ install-datadir install-localstatedir - $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ifneq ($(TOOLS),) - $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)" -ifneq ($(STRIP),) - $(STRIP) $(TOOLS:%="$(DESTDIR)$(bindir)/%") -endif + $(call install-prog,$(TOOLS),$(DESTDIR)$(bindir)) endif ifneq ($(CONFIG_MODULES),) $(INSTALL_DIR) "$(DESTDIR)$(qemu_moddir)" @@ -401,11 +397,7 @@ ifneq ($(CONFIG_MODULES),) done endif ifneq ($(HELPERS-y),) - $(INSTALL_DIR) "$(DESTDIR)$(libexecdir)" - $(INSTALL_PROG) $(HELPERS-y) "$(DESTDIR)$(libexecdir)" -ifneq ($(STRIP),) - $(STRIP) $(HELPERS-y:%="$(DESTDIR)$(libexecdir)/%") -endif + $(call install-prog,$(HELPERS-y),$(DESTDIR)$(libexecdir)) endif ifneq ($(BLOBS),) set -e; for x in $(BLOBS); do \ diff --git a/Makefile.target b/Makefile.target index fc5827cd72..6089d290df 100644 --- a/Makefile.target +++ b/Makefile.target @@ -190,10 +190,7 @@ endif install: all ifneq ($(PROGS),) - $(INSTALL_PROG) $(PROGS) "$(DESTDIR)$(bindir)" -ifneq ($(STRIP),) - $(STRIP) $(PROGS:%="$(DESTDIR)$(bindir)/%") -endif + $(call install-prog,$(PROGS),$(DESTDIR)$(bindir)) endif ifdef CONFIG_TRACE_SYSTEMTAP $(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/../systemtap/tapset" diff --git a/rules.mak b/rules.mak index 945484ecb4..ba2f4c19a5 100644 --- a/rules.mak +++ b/rules.mak @@ -101,6 +101,13 @@ cc-option = $(if $(shell $(CC) $1 $2 -S -o /dev/null -xc /dev/null \ VPATH_SUFFIXES = %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc set-vpath = $(if $1,$(foreach PATTERN,$(VPATH_SUFFIXES),$(eval vpath $(PATTERN) $1))) +# install-prog list, dir +define install-prog + $(INSTALL_DIR) "$2" + $(INSTALL_PROG) $1 "$2" + $(if $(STRIP),$(STRIP) $(foreach T,$1,"$2/$(notdir $T)"),) +endef + # find-in-path # Usage: $(call find-in-path, prog) # Looks in the PATH if the argument contains no slash, else only considers one