X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fhs-suffix-rules-srcdir.mk;h=168a880521f72caed53c1f038480f81055e7f6a9;hb=7720e1503ee9b6ea2b949f95287a32b8d3361bb0;hp=4aa7b7eb2ac21989bde000805b35f736ca743638;hpb=81e5f8ff44ed5c734c9966ba0f3faf2d84c74577;p=ghc-hetmet.git diff --git a/rules/hs-suffix-rules-srcdir.mk b/rules/hs-suffix-rules-srcdir.mk index 4aa7b7e..168a880 100644 --- a/rules/hs-suffix-rules-srcdir.mk +++ b/rules/hs-suffix-rules-srcdir.mk @@ -18,76 +18,72 @@ define hs-suffix-rules-srcdir 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 includes/ghcautoconf.h includes/ghcplatform.h $$(MKDIRHIER) - $$(MKDIRHIER) $$(dir $$@) - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/$4/%.hc includes/ghcautoconf.h includes/ghcplatform.h | $$$$(dir $$$$@)/. + "$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.hc includes/ghcautoconf.h includes/ghcplatform.h - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -Iincludes -x c -c $$< -o $$@ + "$$(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 endef