X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fmanual-package-config.mk;h=8d1eba9322647bdd7de13f6d4a4ff2771dcd8352;hb=5e4375adca19f66803c3ad47fb1ba2c2ac6b4b62;hp=298fe47d480f8203b778e821d65b05426077cd16;hpb=6c2e3327033c034d057390dc2372c7d07032ce5f;p=ghc-hetmet.git diff --git a/rules/manual-package-config.mk b/rules/manual-package-config.mk index 298fe47..8d1eba9 100644 --- a/rules/manual-package-config.mk +++ b/rules/manual-package-config.mk @@ -14,31 +14,31 @@ define manual-package-config # args: $1 = dir $1/package.conf.inplace : $1/package.conf.in $(GHC_PKG_INPLACE) - $(CPP) $(RAWCPP_FLAGS) -P \ + $$(CPP) $$(RAWCPP_FLAGS) -P \ -DTOP='"$$(TOP)"' \ $$($1_PACKAGE_CPP_OPTS) \ - -x c -I$$(GHC_INCLUDE_DIR) $$< | \ - grep -v '^#pragma GCC' | \ - sed -e 's/""//g' -e 's/:[ ]*,/: /g' >$$@ + -x c -I$$(GHC_INCLUDE_DIR) $$< -o $$@.raw + grep -v '^#pragma GCC' $$@.raw | \ + sed -e 's/""//g' -e 's/:[ ]*,/: /g' > $$@ - $(GHC_PKG_INPLACE) update --force $$@ + "$$(GHC_PKG_INPLACE)" update --force $$@ # This is actually a real file, but we need to recreate it on every # "make install", so we declare it as phony .PHONY: $1/package.conf.install $1/package.conf.install: - $(CPP) $(RAWCPP_FLAGS) -P \ + $$(CPP) $$(RAWCPP_FLAGS) -P \ -DINSTALLING \ - -DLIB_DIR='"$$(libdir)"' \ - -DINCLUDE_DIR='"$$(libdir)/include"' \ + -DLIB_DIR='"$$(if $$(filter YES,$$(RelocatableBuild)),$$$$topdir,$$(ghclibdir))"' \ + -DINCLUDE_DIR='"$$(if $$(filter YES,$$(RelocatableBuild)),$$$$topdir,$$(ghclibdir))/include"' \ $$($1_PACKAGE_CPP_OPTS) \ - -x c -I$$(GHC_INCLUDE_DIR) $1/package.conf.in | \ - grep -v '^#pragma GCC' | \ - sed -e 's/""//g' -e 's/:[ ]*,/: /g' >$$@ + -x c -I$$(GHC_INCLUDE_DIR) $1/package.conf.in -o $$@.raw + grep -v '^#pragma GCC' $$@.raw | \ + sed -e 's/""//g' -e 's/:[ ]*,/: /g' >$$@ distclean : clean_$1_package.conf .PHONY: clean_$1_package.conf clean_$1_package.conf : - $(RM) $1/package.conf.install $1/package.conf.inplace + "$$(RM)" $$(RM_OPTS) $1/package.conf.install $1/package.conf.inplace endef