X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=rules%2Fhs-suffix-rules-srcdir.mk;h=ceeede8e969e669e46dc780a69201e5a912ea330;hb=6efacfe8bcbe66dfc3b52397ccbd34a58890520d;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..ceeede8 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,18 @@ $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 $$(MKDIRHIER) + $$(MKDIRHIER) $$(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 $$@ + # $1/$2/build/%.$$($3_osuf) : $1/$2/build/%.$$($3_way_)hc # $$($1_$2_HC) $$($1_$2_$3_ALL_HC_OPTS) -c $$< -o $$@ # @@ -61,10 +84,12 @@ $1/$2/build/%.$$($3_way_)o-boot : $1/$4/%.hs-boot $$($1_$2_HC_DEP) $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 $$@ +ifneq "$$(BootingFromHc)" "YES" # stubs are automatically generated and compiled by GHC $1/$2/build/%_stub.$$($3_osuf): $1/$2/build/%.$$($3_osuf) @: +endif endef