stage3 ::
$(MAKE) stage=3
+ifeq "$(CLEAN_ALL_STAGES)" "YES"
clean distclean::
- -$(CABAL) clean --distpref dist-stage1
- -$(CABAL) clean --distpref dist-stage2
- -$(CABAL) clean --distpref dist-stage3
- $(RM) -f Makefile-stage1
- $(RM) -f Makefile-stage2
- $(RM) -f Makefile-stage3
$(RM) -f prelude/primops.txt
$(RM) -f $(PRIMOP_BITS)
$(RM) -f $(CONFIG_HS)
$(RM) -f parser/Parser.y
$(RM) -rf stage1 stage2plus
$(RM) -f $(STAGE3_PACKAGE_CONF)
+endif
+
+ifeq "$(CLEAN_ALL_STAGES)" "YES"
+clean distclean:: clean.stage.1 clean.stage.2 clean.stage.3
+else
+clean distclean:: clean.stage.$(stage)
+endif
+
+clean.stage.%:
+ -$(CABAL) clean --distpref dist-stage$*
+ $(RM) -f Makefile-stage$*
CONFIGURE_FLAGS_STAGE1 += --flags=stage1
CONFIGURE_FLAGS_STAGE2 += --flags=-stage1
CONFIGURE_FLAGS_STAGE1 += --flags=-ghci
+ifeq "$(GhcWithNativeCodeGen)" "YES"
+CONFIGURE_FLAGS_STAGE1 += --flags=ncg
+CONFIGURE_FLAGS_STAGE2 += --flags=ncg
+else
+CONFIGURE_FLAGS_STAGE1 += --flags=-ncg
+CONFIGURE_FLAGS_STAGE2 += --flags=-ncg
+endif
+
ifeq "$(GhcWithInterpreter)" "YES"
CONFIGURE_FLAGS_STAGE2 += --flags=ghci
endif
ifeq "$(TargetOS_CPP)" "openbsd"
-COMMON_CONFIGURE_FLAGS += --ld-options="-Xlinker -E"
+COMMON_CONFIGURE_FLAGS += --ld-options=-E
endif
ifeq "$(GhcUnregisterised)" "NO"
endif
endif
+# We need to turn on profiling either if we have been asked to
+# (GhcLibProfiled = YES) or if we want GHC itself to be compiled with
+# profiling enabled (GhcProfiled = YES).
+ifneq "$(GhcLibProfiled) $(GhcProfiled)" "NO NO"
+CONFIGURE_FLAGS_STAGE2 += --enable-library-profiling
+# And if we're profiling GHC then we want lots of SCCs
+ifeq "$(GhcProfiled)" "YES"
+CONFIGURE_FLAGS_STAGE2 += --ghc-option=-auto-all
+endif
+endif
+
ifeq "$(HOSTPLATFORM)" "i386-unknown-mingw32"
# The #include is vital for the via-C route with older compilers, else the C
# compiler doesn't realise that the stcall foreign imports are indeed
build.stage.%:
$(MAKE) -f Makefile-stage$* stage=$*
$(CABAL) register --distpref dist-stage$* --inplace
+ $(MAKE) -C ../ghc stage=$*
doc.stage.%:
- $(CABAL) haddock --distpref dist-stage$*
+ $(CABAL) haddock --distpref dist-stage$* \
+ --haddock-option=--optghc=-DSTAGE=$* \
+ --with-haddock=$(FPTOOLS_TOP_ABS)/utils/haddock/install-inplace/bin/haddock
# XXX We ought to actually install the (stage 2) library
install:
primop-usage.hs-incl: prelude/primops.txt
$(GENPRIMOP) --usage < $< > $@
+html:
+ $(MAKE) doc stage=2
+
+install-docs:
+ @:
+
#-----------------------------------------------------------------------------
# binary-dist
#