X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FMakefile;h=c0664df5fd9fda6a5ee695ba77fd82e8b622ec6e;hb=51d7126ec1ac139e583af6375cde09acb8ddfed4;hp=3035b433039870304ab70be28a1231ff1590c265;hpb=eacfbdedf46dcc3105de1bbf642cf2572526c705;p=ghc-hetmet.git diff --git a/ghc/Makefile b/ghc/Makefile index 3035b43..c0664df 100644 --- a/ghc/Makefile +++ b/ghc/Makefile @@ -34,12 +34,18 @@ stage2 :: stage3 :: $(MAKE) stage=3 + ifeq "$(CLEAN_ALL_STAGES)" "YES" clean distclean:: clean.stage.1 clean.stage.2 clean.stage.3 else clean distclean:: clean.stage.$(stage) endif +ifeq "$(CLEAN_ALL_STAGES)" "YES" +distclean:: + $(RM) -f ghc-bin.cabal +endif + clean.stage.%: -$(CABAL) clean --distpref dist-stage$* $(RM) -rf stage$*-inplace @@ -47,32 +53,37 @@ clean.stage.%: CONFIGURE_FLAGS_STAGE1 += --flags=-ghci ifeq "$(GhcWithInterpreter)" "YES" -CONFIGURE_FLAGS_STAGE2 += --flags=ghci +CONFIGURE_FLAGS_STAGE2PLUS += --flags=ghci else -CONFIGURE_FLAGS_STAGE2 += --flags=-ghci +CONFIGURE_FLAGS_STAGE2PLUS += --flags=-ghci endif ifeq "$(GhcProfiled)" "YES" -CONFIGURE_FLAGS_STAGE2 += --enable-executable-profiling +CONFIGURE_FLAGS_STAGE2PLUS += --enable-executable-profiling endif ifeq "$(GhcDebugged)" "YES" -CONFIGURE_FLAGS_STAGE2 += --ghc-option=-debug +CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-debug endif ifeq "$(GhcThreaded)" "YES" # Use threaded RTS with GHCi, so threads don't get blocked at the prompt. -CONFIGURE_FLAGS_STAGE2 += --ghc-option=-threaded +CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-threaded endif ifeq "$(BuildSharedLibs)" "YES" -CONFIGURE_FLAGS_STAGE2 += --ghc-option=-dynamic +CONFIGURE_FLAGS_STAGE2PLUS += --ghc-option=-dynamic endif -CONFIGURE_FLAGS_STAGE3 = $(CONFIGURE_FLAGS_STAGE2) +CONFIGURE_FLAGS_STAGE2 = $(CONFIGURE_FLAGS_STAGE2PLUS) +CONFIGURE_FLAGS_STAGE3 = $(CONFIGURE_FLAGS_STAGE2PLUS) CONFIGURE_FLAGS_STAGE1 += $(USE_BOOT_CONFIGURE_FLAGS) CONFIGURE_FLAGS_STAGE2 += $(USE_STAGE1_CONFIGURE_FLAGS) CONFIGURE_FLAGS_STAGE3 += $(USE_STAGE2_CONFIGURE_FLAGS) +CONFIGURE_FLAGS_STAGE1 += $(foreach flag, $(GhcStage1HcOpts), --ghc-option=$(flag)) +CONFIGURE_FLAGS_STAGE2 += $(foreach flag, $(GhcStage2HcOpts), --ghc-option=$(flag)) +CONFIGURE_FLAGS_STAGE3 += $(foreach flag, $(GhcStage3HcOpts), --ghc-option=$(flag)) + # Allow EXTRA_HC_OPTS to be used from the command line to add options # when building (e.g. -v) BUILD_FLAGS=$(patsubst %, --ghc-option=%, $(EXTRA_HC_OPTS)) @@ -82,10 +93,14 @@ BUILD_FLAGS=$(patsubst %, --ghc-option=%, $(EXTRA_HC_OPTS)) # no library to register ifeq "$(stage)" "1" +ifeq "$(ghc_ge_609)" "NO" # GHC 6.9+ can handle cross-package recompilation checking, but # we don't rely on the bootstrapping compiler being able to do this. TOUCH_MAIN = $(RM) dist-stage1/build/ghc/ghc-tmp/Main.o endif +endif + +dist-stage1 dist-stage2 dist-stage3: dist-stage%: boot.stage.% boot.stage.%: $(CABAL) configure --distpref dist-stage$* \ @@ -96,7 +111,7 @@ boot.stage.%: --datadir='$$libdir' \ --datasubdir=. -build.stage.%: +build.stage.%: dist-stage% $(TOUCH_MAIN) $(CABAL) build --distpref dist-stage$* $(BUILD_FLAGS) $(INSTALL_PACKAGE) install '$(GHC_PKG_PROG)' 'XXX/package.conf' "" \ @@ -123,6 +138,12 @@ install: --distpref dist-stage2 \ $(INSTALL_FLAGS) +html: + @: + +install-docs: + @: + include $(TOP)/mk/bindist.mk -EXE_DIST_DIR = dist-stage$(stage) +EXE_DIST_DIR = dist-stage2