X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rules%2Fmanual-package-config.mk;h=6b2b2ac2cb3252ab12e0b75abe15e0d18c69f28d;hb=5d0747c093ee5b45e08871503c6210662958657b;hp=4716fe01fc6d96ed72637fb817fb6fbd4969e958;hpb=c59c053f0b8613dd128297ee0b6eef31f001c498;p=ghc-hetmet.git diff --git a/rules/manual-package-config.mk b/rules/manual-package-config.mk index 4716fe0..6b2b2ac 100644 --- a/rules/manual-package-config.mk +++ b/rules/manual-package-config.mk @@ -12,35 +12,34 @@ define manual-package-config # args: $1 = dir +$(call trace, manual-package-config($1)) $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' >$$@ -clean : clean_$1 -.PHONY: clean_$1 -clean_$1 : clean_$1_package.conf +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