diff options
author | Ian Lynagh <igloo@earth.li> | 2009-04-26 11:42:15 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2009-04-26 11:42:15 +0000 |
commit | 34cc75e1a62638f2833815746ebce0a9114dc26b (patch) | |
tree | ef21e8fd7af1356beea9cce7d6efb8a65374e24c /rules/c-suffix-rules.mk | |
parent | 74e1368d4688ee16f6decdf2cd3ebe27506b26ba (diff) | |
download | haskell-34cc75e1a62638f2833815746ebce0a9114dc26b.tar.gz |
GHC new build system megapatch
Diffstat (limited to 'rules/c-suffix-rules.mk')
-rw-r--r-- | rules/c-suffix-rules.mk | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/rules/c-suffix-rules.mk b/rules/c-suffix-rules.mk new file mode 100644 index 0000000000..6dfed87680 --- /dev/null +++ b/rules/c-suffix-rules.mk @@ -0,0 +1,60 @@ + +define c-suffix-rules +# $1 = dir +# $2 = distdir +# $3 = way +# $4 = use GHC (YES/NO) + +# UseGhcForCc is only relevant when not booting from HC files. +ifeq "$4" "YES" + +$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/$2/build/%.c $$($1_$2_HC_DEP) + $$(RM) $$@ + $$($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/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_way_)s : $1/$2/build/%.c $$($1_$2_HC_DEP) + $$(RM) $$@ + $$($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/$2/build/%.c + $$(RM) $$@ + $$(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 $$@ $$< + +$1/$2/build/%.$$($3_osuf) : $1/%.S $$(MKDIRHIER) + $$(RM) $$@ + $$(MKDIRHIER) $$(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 $$@ + +endif + +endef + |