Fix the DPH/profiled make thing (again)
[ghc-hetmet.git] / ghc.mk
diff --git a/ghc.mk b/ghc.mk
index 9a52105..3214c65 100644 (file)
--- a/ghc.mk
+++ b/ghc.mk
@@ -349,20 +349,28 @@ $(eval $(call addPackage,haskeline))
 
 $(foreach pkg,$(EXTRA_PACKAGES),$(eval $(call addPackage,$(pkg))))
 
-ifneq "$(BootingFromHc)" "YES"
 
-ifneq "$(GhcProfiled)" "YES"
-# DPH uses Template Haskell, and Template Haskell doesn't work
-# with a profiled compiler. So if stage-2 is profile, don't build DPH
-PACKAGES_STAGE2 += \
-       dph/dph-base \
+# -------------------  Adding DPH packaes ---------------
+DPH_PACKAGES =         dph/dph-base \
        dph/dph-prim-interface \
        dph/dph-prim-seq \
        dph/dph-prim-par \
        dph/dph-seq \
        dph/dph-par
-endif
-endif
+ifneq "$(BootingFromHc)" "YES"
+ifeq "$(CLEANING)" "YES"
+# If we are cleaning we must add DPH packages regardless,
+# for reasons we now forget
+PACKAGES_STAGE2 += $(DPH_PACKAGES)
+else # not CLEANING
+ifneq "$(GhcProfiled)" "YES"
+# DPH uses Template Haskell, and Template Haskell doesn't work
+# with a profiled compiler. So if stage-2 is profile, don't build DPH
+PACKAGES_STAGE2 += $(DPH_PACKAGES)
+endif  # GhcProfiled
+endif  # Cleaning
+endif  # BootingFromHc
+# ------------------------------------------------------- 
 
 # We assume that the stage0 compiler has a suitable bytestring package,
 # so we don't have to include it below.