RichTokenStream support
[ghc-hetmet.git] / compiler / Makefile
index 6ea209b..69b2903 100644 (file)
@@ -71,9 +71,18 @@ else
 clean distclean:: clean.stage.$(stage)
 endif
 
+ifeq "$(CLEAN_ALL_STAGES)" "YES"
+distclean::
+       $(RM) -f ghc.cabal
+endif
+
 clean.stage.%:
-       -$(CABAL) clean --distpref dist-stage$*
        $(RM) -f Makefile-stage$*
+# 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=stage1
 CONFIGURE_FLAGS_STAGE2 += --flags=-stage1
@@ -144,9 +153,16 @@ endif
 # 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
+# And if we're profiling GHC then we want lots of SCCs.
+# We also don't want to waste time building the non-profiling library,
+# either normally or for ghci. Unfortunately this means that we have to
+# tell ghc-pkg --force as it gets upset when libHSghc-6.9.a doesn't
+# exist.
 ifeq "$(GhcProfiled)" "YES"
 CONFIGURE_FLAGS_STAGE2 += --ghc-option=-auto-all
+CONFIGURE_FLAGS_STAGE2 += --disable-library-vanilla
+CONFIGURE_FLAGS_STAGE2 += --disable-library-for-ghci
+CONFIGURE_FLAGS_STAGE2 += --ghc-pkg-option=--force
 endif
 endif
 
@@ -460,5 +476,5 @@ BINDIST_EXTRAS += stage2plus/ghc_boot_platform.h
 endif
 
 include $(TOP)/mk/bindist.mk
-LIB_DIST_DIR = dist-stage$(stage)
+LIB_DIST_DIR = dist-stage2