X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=libraries%2FMakefile;h=20a039c44b79150f99f6361fe7ba2007e44dadfd;hp=20333b1afd312e81c8ab1883eead17df35af14a4;hb=b6f479891ae82dd7f74d8d7133b4f740d1299b4c;hpb=ba333106b753c21c1095a8a9def78925b13b3c8a diff --git a/libraries/Makefile b/libraries/Makefile index 20333b1..20a039c 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -163,12 +163,15 @@ boot: $(BOOTSTRAP_STAMPS) ifBuildable/ifBuildable \ # We ought to be depending on %/Setup.*hs, but make makes that difficult. +# -fffi is only needed for GHC 6.4 at the time of writing +CABAL_GHC_FLAGS = -Wall -cpp -fffi + $(foreach SUBDIR,$(SUBDIRS),$(SUBDIR)/setup/Setup): \ %/setup/Setup: $(BOOTSTRAP_STAMPS) -$(RM) -rf $*/setup mkdir $*/setup $(CP) $*/Setup.*hs $*/setup - cd $*/setup && $(GHC) -Wall -cpp --make Setup.*hs -o Setup \ + cd $*/setup && $(GHC) $(CABAL_GHC_FLAGS) --make Setup.*hs -o Setup \ $(BOOTSTRAP_INC_2_UP) installPackage/installPackage: installPackage.hs $(BOOTSTRAP_STAMPS) @@ -176,11 +179,11 @@ installPackage/installPackage: installPackage.hs $(BOOTSTRAP_STAMPS) mkdir installPackage $(CP) installPackage.hs installPackage/ ifeq "$(stage)" "2" - cd installPackage && ../$(HC) -Wall -cpp \ + cd installPackage && ../$(HC) $(CABAL_GHC_FLAGS) \ --make installPackage -o installPackage \ $(BOOTSTRAP_INC_1_UP) $(DEPLOYMENT_OPTS) else - cd installPackage && $(GHC) -Wall -cpp \ + cd installPackage && $(GHC) $(CABAL_GHC_FLAGS) \ --make installPackage -o installPackage \ $(BOOTSTRAP_INC_1_UP) endif @@ -247,22 +250,22 @@ FLAGGED_CONFIGURE_ARGS = $(subst $(space)',\ $(space)$(CONFIGURE_ARGS)) ifeq "$(Windows)" "YES" -NONEXISTANT=c:/NONEXISTANT +NONEXISTENT=c:/NONEXISTENT else -NONEXISTANT=/NONEXISTANT +NONEXISTENT=/NONEXISTENT endif ALL_CONFIGURE_FLAGS = \ $(CONFIGURE_OPTS) \ - --prefix=$(NONEXISTANT) \ - --bindir=$(NONEXISTANT) \ - --libdir=$(NONEXISTANT) \ + --prefix=$(NONEXISTENT) \ + --bindir=$(NONEXISTENT) \ + --libdir=$(NONEXISTENT) \ --libsubdir='$$pkgid' \ - --libexecdir=$(NONEXISTANT) \ - --datadir=$(NONEXISTANT) \ - --docdir=$(NONEXISTANT) \ - --haddockdir=$(NONEXISTANT) \ - --htmldir=$(NONEXISTANT) \ + --libexecdir=$(NONEXISTENT) \ + --datadir=$(NONEXISTENT) \ + --docdir=$(NONEXISTENT) \ + --haddockdir=$(NONEXISTENT) \ + --htmldir=$(NONEXISTENT) \ --with-compiler=../../compiler/stage1/ghc-inplace \ --with-hc-pkg=../../utils/ghc-pkg/ghc-pkg-inplace \ --with-hsc2hs=../../utils/hsc2hs/hsc2hs-inplace \ @@ -288,7 +291,9 @@ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: %/setup/Setup # needs to be done. However, we're careful not to overwrite GNUmakefile # if it hasn't changed, so that dependency-generation isn't forced # every time. -$(foreach SUBDIR,$(SUBDIRS),make.library.$(SUBDIR)):\ +# I doubt that the makefile way will work with ndp, so filter it out and use +# a rule below to call build.library.ndp instead +$(foreach SUBDIR,$(filter-out ndp,$(SUBDIRS)),make.library.$(SUBDIR)):\ make.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ %/setup/Setup ifBuildable/ifBuildable installPackage/installPackage if ifBuildable/ifBuildable $*; then \ @@ -301,6 +306,9 @@ make.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ ../installPackage/installPackage register --inplace; \ fi +# Hack for ndp, as described above +make.library.ndp: build.library.ndp + # Build the library using 'setup build' (not the default) $(foreach SUBDIR,$(SUBDIRS),build.library.$(SUBDIR)):\ build.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ @@ -308,6 +316,7 @@ build.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ if ifBuildable/ifBuildable $*; then \ cd $* && \ setup/Setup build $(addprefix --ghc-option=,$(GhcLibHcOpts)); \ + ../installPackage/installPackage register --inplace; \ fi .PHONY: doc html