X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fhs-suffix-rules-srcdir.mk;h=bdb9d0028250e4fc19d29d5e765e6e614058999a;hb=fe58dd2f091f5a4a0e83a5ec6da643a6711e3aed;hp=aaf22d696d98ffd5a22795a525e36acab81acfe9;hpb=a71d7945a5447990c094dbbfc0e2f3f5d26e7e6f;p=ghc-hetmet.git diff --git a/rules/hs-suffix-rules-srcdir.mk b/rules/hs-suffix-rules-srcdir.mk index aaf22d6..bdb9d00 100644 --- a/rules/hs-suffix-rules-srcdir.mk +++ b/rules/hs-suffix-rules-srcdir.mk @@ -16,77 +16,78 @@ define hs-suffix-rules-srcdir # Preprocessing Haskell source +ifneq "$$(BINDIST)" "YES" + ifneq "$$(BootingFromHc)" "YES" -$1/$2/build/%.hs : $1/$4/%.ly $$(MKDIRHIER) - $$(MKDIRHIER) $$(dir $$@) - $$(HAPPY) $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@ +$1/$2/build/%.hs : $1/$4/%.ly | $$$$(dir $$$$@)/. + "$$(HAPPY)" $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@ -$1/$2/build/%.hs : $1/$4/%.y $$(MKDIRHIER) - $$(MKDIRHIER) $$(dir $$@) - $$(HAPPY) $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@ +$1/$2/build/%.hs : $1/$4/%.y | $$$$(dir $$$$@)/. + "$$(HAPPY)" $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@ -$1/$2/build/%.hs : $1/$4/%.x $$(MKDIRHIER) - $$(MKDIRHIER) $$(dir $$@) - $$(ALEX) $$($1_$2_$3_ALL_ALEX_OPTS) $$< -o $$@ +$1/$2/build/%.hs : $1/$4/%.x | $$$$(dir $$$$@)/. + "$$(ALEX)" $$($1_$2_$3_ALL_ALEX_OPTS) $$< -o $$@ -$1/$2/build/%_hsc.c $1/$2/build/%_hsc.h $1/$2/build/%.hs : $1/$4/%.hsc $$(HSC2HS_INPLACE) - $$(MKDIRHIER) $$(dir $$@) - $$(HSC2HS_INPLACE) $$($1_$2_$3_ALL_HSC2HS_OPTS) $$< -o $$@ - touch $$(patsubst %.hsc,%_hsc.c,$$<) +$1/$2/build/%_hsc.c $1/$2/build/%_hsc.h $1/$2/build/%.hs : $1/$4/%.hsc $$(HSC2HS_INPLACE) | $$$$(dir $$$$@)/. + "$$(HSC2HS_INPLACE)" $$($1_$2_$3_ALL_HSC2HS_OPTS) $$< -o $$@ # Compiling Haskell source $1/$2/build/%.$$($3_osuf) : $1/$4/%.hs $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$4/%.lhs $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.hs $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@ $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.lhs $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -C $$< -o $$@ endif # XXX: for some reason these get used in preference to the direct # .hs->.o rule, I don't know why --SDM -$1/$2/build/%.$$($3_osuf) : $1/$4/%.hc - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/$4/%.hc includes/ghcautoconf.h includes/ghcplatform.h | $$$$(dir $$$$@)/. + "$$($1_$2_CC)" $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@ -$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.hc - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/$2/build/%.hc includes/ghcautoconf.h includes/ghcplatform.h + "$$($1_$2_CC)" $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@ # $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)hc -# $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ +# "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ # # $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.hc -# $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ +# "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ # # $1/$2/build/%.$$($3_way_)s : $1/$2/build/%.$$($3_way_)hc -# $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -S $$< -o $$@ +# "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -S $$< -o $$@ # Now the rules for hs-boot files. $1/$2/build/%.hs-boot : $1/$4/%.hs-boot - $$(CP) $$< $$@ + "$$(CP)" $$< $$@ $1/$2/build/%.lhs-boot : $1/$4/%.lhs-boot - $$(CP) $$< $$@ + "$$(CP)" $$< $$@ $1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.hs-boot $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.lhs-boot $$($1_$2_HC_DEP) - $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ +ifneq "$$(BootingFromHc)" "YES" # stubs are automatically generated and compiled by GHC $1/$2/build/%_stub.$$($3_osuf): $1/$2/build/%.$$($3_osuf) @: +endif + +endif endef