X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fc-suffix-rules.mk;h=cc7c219bb4ffaac09b19cf82022ad619560ee092;hb=7720e1503ee9b6ea2b949f95287a32b8d3361bb0;hp=6dfed8768017556a1c0dabd3cf9459c7e487fbd1;hpb=34cc75e1a62638f2833815746ebce0a9114dc26b;p=ghc-hetmet.git diff --git a/rules/c-suffix-rules.mk b/rules/c-suffix-rules.mk index 6dfed87..cc7c219 100644 --- a/rules/c-suffix-rules.mk +++ b/rules/c-suffix-rules.mk @@ -1,3 +1,15 @@ +# ----------------------------------------------------------------------------- +# +# (c) 2009 The University of Glasgow +# +# This file is part of the GHC build system. +# +# To understand how the build system works and how to modify it, see +# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture +# http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying +# +# ----------------------------------------------------------------------------- + define c-suffix-rules # $1 = dir @@ -6,53 +18,42 @@ define c-suffix-rules # $4 = use GHC (YES/NO) # UseGhcForCc is only relevant when not booting from HC files. -ifeq "$4" "YES" +ifeq "$4 $$(BootingFromHc)" "YES NO" -$1/$2/build/%.$$($3_osuf) : $1/%.c $$(MKDIRHIER) $$($1_$2_HC_DEP) - $$(RM) $$@ - $$(MKDIRHIER) $$(dir $$@) - $$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/%.c $$($1_$2_HC_DEP) | $$$$(dir $$$$@)/. + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.c $$($1_$2_HC_DEP) - $$(RM) $$@ - $$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)s $$($1_$2_HC_DEP) - $$(RM) $$@ - $$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ -$1/$2/build/%.$$($3_osuf) : $1/%.S $$(MKDIRHIER) $$($1_$2_HC_DEP) - $$(RM) $$@ - $$(MKDIRHIER) $$(dir $$@) - $$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/%.S $$($1_$2_HC_DEP) | $$$$(dir $$$$@)/. + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_way_)s : $1/$2/build/%.c $$($1_$2_HC_DEP) - $$(RM) $$@ - $$($1_$2_HC) $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@ + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@ + +$1/$2/build/%.$$($3_way_)s : $1/%.c $$($1_$2_HC_DEP) + "$$($1_$2_HC)" $$($1_$2_$3_GHC_CC_OPTS) -S $$< -o $$@ else -$1/$2/build/%.$$($3_osuf) : $1/%.c $$(MKDIRHIER) - $$(RM) $$@ - $$(MKDIRHIER) $$(dir $$@) - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/%.c | $$$$(dir $$$$@)/. + "$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.c - $$(RM) $$@ - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ + "$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)s - $$(RM) $$@ - $$(AS) $$($1_$2_$3_ALL_AS_OPTS) -o $$@ $$< + "$$(AS)" $$($1_$2_$3_ALL_AS_OPTS) -o $$@ $$< -$1/$2/build/%.$$($3_osuf) : $1/%.S $$(MKDIRHIER) - $$(RM) $$@ - $$(MKDIRHIER) $$(dir $$@) - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ +$1/$2/build/%.$$($3_osuf) : $1/%.S | $$$$(dir $$$$@)/. + "$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -c $$< -o $$@ $1/$2/build/%.$$($3_way_)s : $1/$2/build/%.c - $$(RM) $$@ - $$(CC) $$($1_$2_$3_ALL_CC_OPTS) -S $$< -o $$@ + "$$(CC)" $$($1_$2_$3_ALL_CC_OPTS) -S $$< -o $$@ endif