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 <mjt@tls.msk.ru>
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)"
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 \
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"
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