From 410db5b555b74beb68aa39de950c2ca0e9c89f8e Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Fri, 9 Mar 2007 17:43:07 +0000 Subject: [PATCH] Remove duplication in binary dist rules Rather than building complex sh stuff and echoing what we're doing ourselves, use make rules to do the looping and let make print things out. --- Makefile | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/Makefile b/Makefile index ab4f594..3b0ab36 100644 --- a/Makefile +++ b/Makefile @@ -241,40 +241,31 @@ ifeq "$(darwin_TARGET_OS)" "1" BIN_DIST_TOP+=mk/fix_install_names.sh endif -.PHONY: binary-dist-pre binary-dist binary-pack +.PHONY: binary-dist-pre% binary-dist binary-pack -binary-dist:: binary-dist-pre +BINARY_DIST_PRE_RULES=$(foreach d,$(BinDistDirs),binary-dist-pre-$d) + +binary-dist:: binary-dist-pre $(BINARY_DIST_PRE_RULES) binary-dist-pre:: ifeq "$(BIN_DIST)" "" - @echo "WARNING: To run the binary-dist target, you need to set BIN_DIST=1 in mk/build.mk" && exit 1 + @echo "WARNING: To run the binary-dist target, you need to set BIN_DIST=1 in mk/build.mk" + @false endif -rm -rf $(BIN_DIST_DIR) -$(RM) $(BIN_DIST_DIR).tar.gz - @for i in $(BinDistDirs); do \ - if test -d "$$i"; then \ - echo $(MKDIRHIER) $(BIN_DIST_DIR)/bin/$(TARGETPLATFORM); \ - $(MKDIRHIER) $(BIN_DIST_DIR)/bin/$(TARGETPLATFORM); \ - echo $(MKDIRHIER) $(BIN_DIST_DIR)/lib/$(TARGETPLATFORM); \ - $(MKDIRHIER) $(BIN_DIST_DIR)/lib/$(TARGETPLATFORM); \ - echo $(MKDIRHIER) $(BIN_DIST_DIR)/share; \ - $(MKDIRHIER) $(BIN_DIST_DIR)/share; \ - echo $(MAKE) -C $$i $(MFLAGS) $(INSTALL_STAGE) install \ - prefix=$(BIN_DIST_DIR) \ - exec_prefix=$(BIN_DIST_DIR) \ - bindir=$(BIN_DIST_DIR)/bin/$(TARGETPLATFORM) \ - libdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ - libexecdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ - datadir=$(BIN_DIST_DIR)/share; \ - $(MAKE) -C $$i $(MFLAGS) $(INSTALL_STAGE) install \ - prefix=$(BIN_DIST_DIR) \ - exec_prefix=$(BIN_DIST_DIR) \ - bindir=$(BIN_DIST_DIR)/bin/$(TARGETPLATFORM) \ - libdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ - libexecdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ - datadir=$(BIN_DIST_DIR)/share; \ - fi; \ - done + $(MKDIRHIER) $(BIN_DIST_DIR)/bin/$(TARGETPLATFORM) + $(MKDIRHIER) $(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) + $(MKDIRHIER) $(BIN_DIST_DIR)/share + +$(BINARY_DIST_PRE_RULES): binary-dist-pre-%: + $(MAKE) -C $* $(MFLAGS) $(INSTALL_STAGE) install \ + prefix=$(BIN_DIST_DIR) \ + exec_prefix=$(BIN_DIST_DIR) \ + bindir=$(BIN_DIST_DIR)/bin/$(TARGETPLATFORM) \ + libdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ + libexecdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \ + datadir=$(BIN_DIST_DIR)/share binary-dist:: @for i in $(BIN_DIST_TOP); do \ -- 1.7.10.4