X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=libraries%2FMakefile;h=6a38e3d58bbc96a1a7490844a523a76f01c28f0a;hp=4168ae5f1c7b13ab086bad6d13f75e6dafa9c456;hb=a385f0af5ea320a18d580f6a36c59c55b3516efd;hpb=c571ccea941791fd30f640e93d163ee08171349a;ds=sidebyside diff --git a/libraries/Makefile b/libraries/Makefile index 4168ae5..6a38e3d 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 @@ -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 \ @@ -298,9 +303,12 @@ make.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \ setup/Setup makefile -f GNUmakefile; \ cmp -s GNUmakefile GNUmakefile.tmp && mv GNUmakefile.tmp GNUmakefile; \ $(MAKE) $(MFLAGS) && \ - ../installPackage/installPackage register --inplace; \ + setup/Setup 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)); \ + setup/Setup register --inplace; \ fi .PHONY: doc html