diff options
-rw-r--r-- | ghc.mk | 4 | ||||
-rw-r--r-- | rules/hi-rule.mk | 8 | ||||
-rw-r--r-- | rules/hs-suffix-rules-srcdir.mk | 2 | ||||
-rw-r--r-- | rules/hs-suffix-rules.mk | 3 |
4 files changed, 10 insertions, 7 deletions
@@ -229,10 +229,6 @@ ifneq "$(CLEANING)" "YES" include rules/hs-suffix-rules-srcdir.mk include rules/hs-suffix-rules.mk include rules/hi-rule.mk - -$(foreach way,$(ALL_WAYS),\ - $(eval $(call hi-rule,$(way)))) - include rules/c-suffix-rules.mk include rules/cmm-suffix-rules.mk diff --git a/rules/hi-rule.mk b/rules/hi-rule.mk index 35baffd11a..c1e75022e4 100644 --- a/rules/hi-rule.mk +++ b/rules/hi-rule.mk @@ -62,11 +62,13 @@ # documentation). An empty command is enough to get GNU make to think # it has updated %.hi, but without actually spawning a shell to do so. -define hi-rule # $1 = way +define hi-rule # $1 = source directory, $2 = object directory, $3 = way -%.$$($1_hisuf) : %.$$($1_osuf) ; +$2/%.$$($3_hisuf) : $2/%.$$($3_osuf) $1/%.hs ; +$2/%.$$($3_hisuf) : $2/%.$$($3_osuf) $1/%.lhs ; -%.$$($1_way_)hi-boot : %.$$($1_way_)o-boot ; +$2/%.$$($3_way_)hi-boot : $2/%.$$($3_way_)o-boot $1/%.hs ; +$2/%.$$($3_way_)hi-boot : $2/%.$$($3_way_)o-boot $1/%.lhs ; endef diff --git a/rules/hs-suffix-rules-srcdir.mk b/rules/hs-suffix-rules-srcdir.mk index 94a41d5e73..776d1ce0f6 100644 --- a/rules/hs-suffix-rules-srcdir.mk +++ b/rules/hs-suffix-rules-srcdir.mk @@ -52,6 +52,8 @@ $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$( $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.lhs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$($1_$2_PKGDATA_DEP) $$(call cmd,$1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@ +$(call hi-rule,$1/$4,$1/$2/build,$3) + endif # XXX: for some reason these get used in preference to the direct diff --git a/rules/hs-suffix-rules.mk b/rules/hs-suffix-rules.mk index 9d547533fe..9b11e6e806 100644 --- a/rules/hs-suffix-rules.mk +++ b/rules/hs-suffix-rules.mk @@ -28,6 +28,9 @@ $1/$2/build/%.$$($3_hcsuf) : $1/$2/build/autogen/%.hs $$(LAX_DEPS_FOLLOW) $$($1_ $1/$2/build/%.$$($3_osuf) : $1/$2/build/autogen/%.hs $$(LAX_DEPS_FOLLOW) $$($1_$2_HC_DEP) $$(call cmd,$1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ +$(call hi-rule,$1/$2/build,$1/$2/build,$3) +$(call hi-rule,$1/$2/build/autogen,$1/$2/build,$3) + endif endif |