X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghc.mk;h=f2a4fc5310ea3f124bba07487b12d7bf9fc507ba;hb=609e7ddfb10bc04762b820e70e0487ad6c514c2e;hp=70c95f3426d60996ab938c9061fdc378bafa1bf2;hpb=354503a27a016b2cc030b7fae5d007b0259c77d2;p=ghc-hetmet.git diff --git a/compiler/ghc.mk b/compiler/ghc.mk index 70c95f3..f2a4fc5 100644 --- a/compiler/ghc.mk +++ b/compiler/ghc.mk @@ -141,8 +141,7 @@ $(eval $(call clean-target,compiler,config_hs,$(compiler_CONFIG_HS))) PLATFORM_H = ghc_boot_platform.h -compiler/stage1/$(PLATFORM_H) : mk/config.mk mk/project.mk - "$(MKDIRHIER)" $(dir $@) +compiler/stage1/$(PLATFORM_H) : mk/config.mk mk/project.mk | $$(dir $$@)/. "$(RM)" $(RM_OPTS) $@ @echo "Creating $@..." @echo "#ifndef __PLATFORM_H__" >$@ @@ -188,8 +187,7 @@ endif # For stage2 and above, the BUILD platform is the HOST of stage1, and # the HOST platform is the TARGET of stage1. The TARGET remains the same # (stage1 is the cross-compiler, not stage2). -compiler/stage2/$(PLATFORM_H) : mk/config.mk mk/project.mk - "$(MKDIRHIER)" $(dir $@) +compiler/stage2/$(PLATFORM_H) : mk/config.mk mk/project.mk | $$(dir $$@)/. "$(RM)" $(RM_OPTS) $@ @echo "Creating $@..." @echo "#ifndef __PLATFORM_H__" >$@ @@ -259,6 +257,7 @@ $(PRIMOPS_TXT) compiler/parser/Parser.y: %: %.pp compiler/stage1/$(PLATFORM_H) $(eval $(call clean-target,compiler,primop, $(PRIMOPS_TXT) compiler/parser/Parser.y $(PRIMOP_BITS))) +ifneq "$(BootingFromHc)" "YES" compiler/primop-data-decl.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) "$(GENPRIMOP_INPLACE)" --data-decl < $< > $@ compiler/primop-tag.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) @@ -284,6 +283,7 @@ compiler/primop-primop-info.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE) # can still generate them if we want them back compiler/primop-usage.hs-incl: $(PRIMOPS_TXT) "$(GENPRIMOP_INPLACE)" --usage < $< > $@ +endif # ----------------------------------------------------------------------------- # Configuration @@ -462,11 +462,16 @@ $(compiler_stage2_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(inclu $(compiler_stage3_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(includes_GHCCONSTANTS) $(includes_DERIVEDCONSTANTS) $(PRIMOP_BITS) # Every Constants.o object file depends on includes/GHCConstants.h: -$(eval $(call compiler-hs-dependency,Constants,$(includes_GHCCONSTANTS))) +$(eval $(call compiler-hs-dependency,Constants,$(includes_GHCCONSTANTS) includes/HaskellConstants.hs)) # Every PrimOp.o object file depends on $(PRIMOP_BITS): $(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS))) +# GHC itself doesn't know about the above dependencies, so we have to +# switch off the recompilation checker for those modules: +compiler/prelude/PrimOps_HC_OPTS += -fforce-recomp +compiler/main/Constants_HC_OPTS += -fforce-recomp + # Note [munge-stage1-package-config] # Strip the date/patchlevel from the version of stage1. See Note # [fiddle-stage1-version] above.