X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=41e09dd60765e17433ae2064aebd1a76285dff6a;hb=942fd04666dfbcb6bf3088ab0ef55e60d18ae67a;hp=2e0bbe1dc8f5e8cb99276c8a5154c6e46410921f;hpb=0ed2626c9ff2660fee60a94688d2021c23e3006f;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 2e0bbe1..41e09dd 100644 --- a/Makefile +++ b/Makefile @@ -61,7 +61,7 @@ include $(TOP)/mk/boilerplate.mk ifeq "$(BootingFromHc)" "YES" SUBDIRS_BUILD = gmp includes rts compat compiler docs utils driver else -SUBDIRS_BUILD = gmp includes compat utils driver docs compiler rts +SUBDIRS_BUILD = gmp includes compat utils driver docs compiler rts libraries/Cabal/doc endif SUBDIRS = gmp includes compat utils driver docs rts libraries compiler libraries/Cabal/doc @@ -162,6 +162,9 @@ else INSTALL_STAGE = endif +install-strip: + $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install + # Same as default rule, but we pass $(INSTALL_STAGE) to $(MAKE) too install :: check-packages @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \ @@ -248,6 +251,16 @@ binary-dist:: -rm -rf $(BIN_DIST_DIR) -$(RM) $(BIN_DIST_DIR).tar.gz +# When making bindists, we can have problems if some things (e.g. ghc-pkg) +# are compiled with the bootstrapping compiler and some (e.g. the stage 2 +# compiler) with the stage1 compiler. See #1860 for an example. +# Thus we rebuild the utils with stage 1 here. This is a bit unpleasant, +# as binary-dist really shouldn't actually build anything, but it works. +binary-dist:: + $(MAKE) -C utils clean + $(MAKE) -C utils UseStage1=YES boot + $(MAKE) -C utils UseStage1=YES + ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" binary-dist:: @@ -458,7 +471,7 @@ dist :: && for i in $(SRC_DIST_DIRS); do mkdir $$i; (cd $$i && lndir $(FPTOOLS_TOP_ABS)/$$i ); done \ && for i in $(SRC_DIST_FILES); do $(LN_S) $(FPTOOLS_TOP_ABS)/$$i .; done \ && $(MAKE) distclean \ - && if test -f $(FPTOOLS_TOP_ABS)/libraries/haskell-src/dist/build/Language/Haskell/Parser.hs; then $(CP) $(FPTOOLS_TOP_ABS)/libraries/haskell-src/dist/build/Language/Haskell/Parser.hs libraries/haskell-src/Language/Haskell/ ; fi \ + && if test -f $(FPTOOLS_TOP_ABS)/libraries/haskell-src/dist/build/Language/Haskell/Parser.hs; then $(CP) $(FPTOOLS_TOP_ABS)/libraries/haskell-src/dist/build/Language/Haskell/Parser.hs libraries/haskell-src/Language/Haskell/ ; mv libraries/haskell-src/Language/Haskell/Parser.ly libraries/haskell-src/Language/Haskell/Parser.ly.source ; fi \ && $(RM) -rf compiler/stage[123] mk/build.mk \ && $(FIND) $(SRC_DIST_DIRS) \( -name _darcs -o -name SRC -o -name "autom4te*" -o -name "*~" -o -name ".cvsignore" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" \) -print | xargs $(RM) -rf \ )