Add PrimCall to the STG layer and update Core -> STG translation
[ghc-hetmet.git] / compiler / ghc.mk
index 5b59bbe..400b6b3 100644 (file)
@@ -17,7 +17,7 @@ define compiler-hs-dependency # args: $1 = module, $2 = dependency
 
 $$(foreach stage,1 2 3,\
  $$(foreach way,$$(compiler_stage$$(stage)_WAYS),\
-  compiler/stage$$(stage)/build/$1.$($(way)_osuf))) : $2
+  compiler/stage$$(stage)/build/$1.$$($$(way)_osuf))) : $2
 
 endef
 
@@ -35,7 +35,7 @@ compiler/stage2/package-data.mk : $(compiler_CONFIG_HS)
 compiler/stage3/package-data.mk : $(compiler_CONFIG_HS)
 endif
 
-$(compiler_CONFIG_HS) : mk/config.mk
+$(compiler_CONFIG_HS) : mk/config.mk mk/project.mk
        "$(RM)" $(RM_OPTS) $@
        @echo "Creating $@ ... "
        @echo "module Config where" >>$@
@@ -141,7 +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
+compiler/stage1/$(PLATFORM_H) : mk/config.mk mk/project.mk
        "$(MKDIRHIER)" $(dir $@)
        "$(RM)" $(RM_OPTS) $@
        @echo "Creating $@..."
@@ -188,7 +188,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
+compiler/stage2/$(PLATFORM_H) : mk/config.mk mk/project.mk
        "$(MKDIRHIER)" $(dir $@)
        "$(RM)" $(RM_OPTS) $@
        @echo "Creating $@..."
@@ -235,9 +235,6 @@ endif
 compiler/stage3/$(PLATFORM_H) : compiler/stage2/$(PLATFORM_H)
        "$(CP)" $< $@
 
-# Every Constants.o object file depends on includes/GHCConstants.h:
-$(eval $(call compiler-hs-dependency,Constants,$(includes_GHCCONSTANTS)))
-
 # ----------------------------------------------------------------------------
 #              Generate supporting stuff for prelude/PrimOp.lhs 
 #              from prelude/primops.txt
@@ -283,9 +280,6 @@ compiler/primop-strictness.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
 compiler/primop-primop-info.hs-incl: $(PRIMOPS_TXT) $(GENPRIMOP_INPLACE)
        "$(GENPRIMOP_INPLACE)" --primop-primop-info < $< > $@
 
-# Every PrimOp.o object file depends on $(PRIMOP_BITS):
-$(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS)))
-
 # Usages aren't used any more; but the generator 
 # can still generate them if we want them back
 compiler/primop-usage.hs-incl: $(PRIMOPS_TXT)
@@ -458,6 +452,12 @@ $(compiler_stage1_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(inclu
 $(compiler_stage2_depfile) : $(includes_H_CONFIG) $(includes_H_PLATFORM) $(includes_GHCCONSTANTS) $(includes_DERIVEDCONSTANTS) $(PRIMOP_BITS)
 $(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)))
+
+# Every PrimOp.o object file depends on $(PRIMOP_BITS):
+$(eval $(call compiler-hs-dependency,PrimOp,$(PRIMOP_BITS)))
+
 # Note [munge-stage1-package-config]
 # Strip the date/patchlevel from the version of stage1.  See Note
 # [fiddle-stage1-version] above.