X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FMakefile;h=ed7d24b643466285e4314c3e96a8c6d240683d2d;hb=a196ef836e60e20714fd3e6bc9003979d6e5a139;hp=4735e3b9fdab85cd449d30b14e74ac0aab3f4e94;hpb=bd72e9436d244c09946a7795c41c4b4b62dd53a5;p=ghc-hetmet.git diff --git a/ghc/Makefile b/ghc/Makefile index 4735e3b..ed7d24b 100644 --- a/ghc/Makefile +++ b/ghc/Makefile @@ -34,48 +34,65 @@ stage2 :: stage3 :: $(MAKE) stage=3 + ifeq "$(CLEAN_ALL_STAGES)" "YES" -clean distclean:: clean.stage.1 clean.stage.2 clean.stage.3 +clean distclean maintainer-clean:: clean.stage.1 clean.stage.2 clean.stage.3 else -clean distclean:: clean.stage.$(stage) +clean distclean maintainer-clean:: clean.stage.$(stage) +endif + +ifeq "$(CLEAN_ALL_STAGES)" "YES" +distclean maintainer-clean:: + $(RM) -f ghc-bin.cabal endif clean.stage.%: - -$(CABAL) clean --distpref dist-stage$* $(RM) -rf stage$*-inplace +# This is a bit naughty. We ought to use: +# -$(CABAL) clean --distpref dist-stage$* +# but that won't work if the Cabal file (a generated file) doesn't +# exist. So we do this instead: + $(RM) -rf dist-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_STAGE3 += --package-db $(STAGE3_PACKAGE_CONF) +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)) + +BUILD_FLAGS += $(patsubst %, --ghc-option=%, $(SRC_HC_OPTS)) # 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)) +BUILD_FLAGS += $(patsubst %, --ghc-option=%, $(EXTRA_HC_OPTS)) # XXX In stage2+ we should really use the inplace ghc-pkg # It works because installPackage doesn't actually use ghc-pkg, as there's @@ -127,9 +144,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