findModule: add a fallthrough error case
[ghc-hetmet.git] / compiler / Makefile
index 0d8d8c7..1d39804 100644 (file)
@@ -396,7 +396,7 @@ else
 ifneq "$(findstring $(stage), 2 3)" ""
 bootstrapped = YES
 else
-bootstrapped = $(shell if (test $(GhcCanonVersion) -eq $(ProjectVersionInt) -a $(GhcPatchLevel) -eq $(ProjectPatchLevel)); then echo YES; else echo NO; fi)
+bootstrapped = NO
 endif
 endif
 
@@ -567,9 +567,7 @@ utils/Digraph_HC_OPTS               = -fglasgow-exts
 
 basicTypes/SrcLoc_HC_OPTS      = -funbox-strict-fields
 
-ifeq "$(bootstrapped)" "YES"
 utils/Binary_HC_OPTS           = -funbox-strict-fields
-endif
 
 # We always optimise some low-level modules, otherwise performance of
 # a non-optimised compiler is severely affected.
@@ -639,6 +637,18 @@ ifneq "$(BootingFromHc)" "YES"
 depend :: $(PRIMOP_BITS)
 endif
 
+# This is an ugly hack: we need stage1/$(PLATFORM_H) built before we
+# preprocess primops.txt.pp, but we don't want to just add that
+# dependency because we don't want $(PLATFORM_H) built during normal
+# operations, because we don't have have dependencies from the .hs
+# sources on it, and we don't want those dependencies because that
+# would cause everything to be rebuilt every time the Makefile
+# changed.  So here we add the required dependency only when making
+# boot or depend:
+ifneq "$(findstring boot, $(MAKECMDGOALS))$(findstring depend, $(MAKECMDGOALS))" ""
+prelude/primops.txt.pp : stage1/$(PLATFORM_H)
+endif
+
 primop-data-decl.hs-incl: prelude/primops.txt
        $(GENPRIMOP) --data-decl          < $< > $@
 primop-tag.hs-incl: prelude/primops.txt