From e295322d630f6023dc8f9c0208b6bcc540d0847a Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Wed, 20 Jun 2007 12:22:24 +0000 Subject: [PATCH] Fix a problem with package.mk being included too early --- compiler/Makefile | 56 ++++++++++++++++++++++++++--------------------------- mk/target.mk | 7 +++++++ rts/Makefile | 6 ++---- 3 files changed, 36 insertions(+), 33 deletions(-) diff --git a/compiler/Makefile b/compiler/Makefile index 9edd7a0..536ed0f 100644 --- a/compiler/Makefile +++ b/compiler/Makefile @@ -861,35 +861,6 @@ docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean maintainer-clean $ $(MAKE) -f Makefile.ghcbin $(MFLAGS) $@ endif -include $(TOP)/mk/package.mk - -#----------------------------------------------------------------------------- -# binary-dist - -ifeq "$(DOING_BIN_DIST)" "YES" -# This is derived from the sources when we are in a source tree, but we -# don't have any sources in a bindist, so we have to shortcut it -HS_IFACES := $(wildcard stage$(stage)/*/*.hi) -endif - -binary-dist: - $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler - $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/stage$(stage) - echo "stage=$(stage)" > $(BIN_DIST_DIR)/compiler/Makefile - cat Makefile >> $(BIN_DIST_DIR)/compiler/Makefile - $(INSTALL_DATA) package.conf.in $(BIN_DIST_DIR)/compiler/ - set -e; for d in stage$(stage)/*/; do $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/$$d; done - set -e; for f in $(HS_IFACES); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done -ifneq "$(INSTALL_LIBS)" "" - set -e; for f in $(INSTALL_LIBS); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done -endif -ifneq "$(INSTALL_PROGS)" "" - set -e; for f in $(INSTALL_PROGS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done -endif -ifneq "$(INSTALL_LIBEXECS)" "" - set -e; for f in $(INSTALL_LIBEXECS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done -endif - #----------------------------------------------------------------------------- # clean @@ -919,6 +890,33 @@ include $(TOP)/mk/target.mk $(odir)/main/Config.$(way_)o: SRC_HC_OPTS+=-DSTAGE='"$(stage)"' +#----------------------------------------------------------------------------- +# binary-dist + +ifeq "$(DOING_BIN_DIST)" "YES" +# This is derived from the sources when we are in a source tree, but we +# don't have any sources in a bindist, so we have to shortcut it +HS_IFACES := $(wildcard stage$(stage)/*/*.hi) +endif + +binary-dist: + $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler + $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/stage$(stage) + echo "stage=$(stage)" > $(BIN_DIST_DIR)/compiler/Makefile + cat Makefile >> $(BIN_DIST_DIR)/compiler/Makefile + $(INSTALL_DATA) package.conf.in $(BIN_DIST_DIR)/compiler/ + set -e; for d in stage$(stage)/*/; do $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/$$d; done + set -e; for f in $(HS_IFACES); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done +ifneq "$(INSTALL_LIBS)" "" + set -e; for f in $(INSTALL_LIBS); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done +endif +ifneq "$(INSTALL_PROGS)" "" + set -e; for f in $(INSTALL_PROGS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done +endif +ifneq "$(INSTALL_LIBEXECS)" "" + set -e; for f in $(INSTALL_LIBEXECS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done +endif + # ----------------------------------------------------------------------------- # Explicit dependencies diff --git a/mk/target.mk b/mk/target.mk index 8a9e5b5..8537b4f 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -39,6 +39,13 @@ PRE_SRCS := $(ALL_SRCS) +################################################################## +# Include package building machinery +# NB. needs to be after PRE_SRCS setting above, because otherwise the +# rule dependencies won't be set correctly. + +include $(TOP)/mk/package.mk + ################################################################### # Suffix rules for Haskell, C and literate diff --git a/rts/Makefile b/rts/Makefile index 7930fa7..cd96f7f 100644 --- a/rts/Makefile +++ b/rts/Makefile @@ -387,8 +387,6 @@ ifneq "$(BootingFromHc)" "YES" $(HC) $(HC_OPTS) -S $< -o $@ endif -include $(TOP)/mk/package.mk - #----------------------------------------------------------------------------- # # Files to install @@ -404,6 +402,8 @@ endif # # binary-dist +include $(TOP)/mk/target.mk + binary-dist: $(INSTALL_DIR) $(BIN_DIST_DIR)/rts $(INSTALL_DIR) $(BIN_DIST_DIR)/rts/gmp @@ -415,5 +415,3 @@ endif ifneq "$(INSTALL_LIBEXECS)" "" $(INSTALL_PROGRAM) $(INSTALL_LIBEXECS) $(BIN_DIST_DIR)/rts/ endif - -include $(TOP)/mk/target.mk -- 1.7.10.4