X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fhs-suffix-rules-srcdir.mk;h=a75068bf8f4dd295c5bd42425142e48bc7e38331;hb=fdc0cd3d4ab693867f79d9c741c9387d66782c01;hp=276d28b2644199c6fc107625d31dbcdf5d6231b5;hpb=34cc75e1a62638f2833815746ebce0a9114dc26b;p=ghc-hetmet.git diff --git a/rules/hs-suffix-rules-srcdir.mk b/rules/hs-suffix-rules-srcdir.mk index 276d28b..a75068b 100644 --- a/rules/hs-suffix-rules-srcdir.mk +++ b/rules/hs-suffix-rules-srcdir.mk @@ -1,9 +1,23 @@ +# ----------------------------------------------------------------------------- +# +# (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 hs-suffix-rules-srcdir # args: $1 = dir, $2 = distdir, $3 = way, $4 = srcdir # Preprocessing Haskell source +ifneq "$$(BootingFromHc)" "YES" + $1/$2/build/%.hs : $1/$4/%.ly $$(MKDIRHIER) $$(MKDIRHIER) $$(dir $$@) $$(HAPPY) $$($1_$2_$3_ALL_HAPPY_OPTS) $$< -o $$@ @@ -35,9 +49,17 @@ $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.hs $$($1_$2_HC_DEP) $1/$2/build/%.$$($3_hcsuf) : $1/$4/%.lhs $$($1_$2_HC_DEP) $$($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 + $$(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 $$@ + # $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)hc # $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ #