Commit 5cb08808 authored by ian@well-typed.com's avatar ian@well-typed.com
Browse files

Make the rule for .hi files depend on the .hs/.lhs files

make thought that it could make a .hi file for the C files in
libraries, which was causing problems when using dynamic-too.
parent 8dd2f981
......@@ -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
......
......@@ -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
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment