X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=libraries%2FMakefile;h=48ec0f07ca9eada1618e7e6b723e36fd67af8ddf;hb=a6e4ca6e55cfc3f3fd3253df69e803c8a999729a;hp=e67466a1eca674080b4c67b1c80b5272448095ed;hpb=bd2a36fc0a209c119e9451376b18e3c9b199d4f5;p=ghc-hetmet.git diff --git a/libraries/Makefile b/libraries/Makefile index e67466a..48ec0f0 100644 --- a/libraries/Makefile +++ b/libraries/Makefile @@ -92,7 +92,7 @@ space=$(empty) $(empty) # ----------------------------------------------------------------------------- docdir := $(docdir)/libraries/$$pkgid -ifeq "$(Windows)" "YES" +ifeq "$(RelocatableBuild)" "YES" # On Windows we want to make moveable bindists, but we need to tell # ghc-pkg where the haddock docs are. Therefore we completely ignore # where the user tells us to put the haddock documentation and put it @@ -209,16 +209,6 @@ configure: $(foreach SUBDIR,$(SUBDIRS), \ # "C:\\Program Files\\Common Files" # on Windows -# We also set libsubdir differently on Windows and non-Windows, as on -# non-Windows the path we deduce is higher up than the path passed to -# the executable with the shell script on non-Windows. This should -# probably be tidied up so that we can always pass the same libsubdir. -ifeq "$(Windows)" "YES" -libsubdir = $$pkgid -else -libsubdir = $$compiler/lib/$$pkgid -endif - # We rely on all the CONFIGURE_ARGS being quoted with '...', and there # being no 's inside the values. FLAGGED_CONFIGURE_ARGS = $(subst $(space)',\ @@ -232,12 +222,15 @@ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: %/setup/Setup ( cd $* && setup/Setup configure \ $(CONFIGURE_OPTS) \ --prefix='$$topdir' \ - --docdir='$(docdir)' \ - --htmldir='$(htmldir_configure)' \ + --bindir='$(bindir)' \ + --libdir='$(libdir)' \ + --libsubdir='$$pkgid' \ + --libexecdir='$(libexecdir)' \ --datadir='$(datadir)' \ - --libsubdir='$(libsubdir)' \ - --with-compiler=../../compiler/stage1/ghc-inplace$ \ - --with-hc-pkg=../../utils/ghc-pkg/ghc-pkg-inplace$ \ + --docdir='$(docdir)' \ + --htmldir='$(htmldir_configure)' \ + --with-compiler=../../compiler/stage1/ghc-inplace \ + --with-hc-pkg=../../utils/ghc-pkg/ghc-pkg-inplace \ --with-hsc2hs=../../utils/hsc2hs/hsc2hs-inplace \ --with-ld=$(LD) \ --haddock-options="--use-contents=../index.html \ @@ -247,7 +240,7 @@ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: %/setup/Setup && touch $@ || touch $*/unbuildable # We don't touch $@ if configure failed as we would prefer to try # configuring it next time round, rather than assuming it'll still fail. -# This is particularly important for corelibs, where failure means the +# This is particularly important for bootlibs, where failure means the # build dies! # Build the library using 'make' @@ -302,6 +295,9 @@ clean: $(foreach SUBDIR,$(SUBDIRS),clean.library.$(SUBDIR)) $(RM) -rf installPackage $(RM) -f libraries.txt index.html doc-index.html doc-index*.html +distclean: + $(RM) $(foreach lib, $(SUBDIRS), $(lib)/.depend $(lib)/.depend.bak) + $(foreach SUBDIR,$(SUBDIRS),clean.library.$(SUBDIR)): \ clean.library.%: $(RM) -f stamp/configure.library.*.$* $*/unbuildable @@ -336,11 +332,14 @@ install-docs: # prefix and (on Windows) htmldir use $topdir when configuring, so we # need to tell installPackage the real path to use when installing. +# We also need to pass all the other directories in, as they can be +# overridden when installing a bindist. + $(foreach SUBDIR,$(SUBDIRS),install.library.$(SUBDIR)): \ install.library.%: installPackage/installPackage ifBuildable/ifBuildable if ifBuildable/ifBuildable $*; then \ cd $* && \ - ../installPackage/installPackage '$(DESTDIR)' '$(prefix)' '$(htmldir_install)' '$(GHC_PKG_PROG)' '$(DESTDIR)$(libdir)/package.conf' ; \ + ../installPackage/installPackage '$(DESTDIR)' '$(prefix)' '$(bindir)' '$(libdir)' '$(libexecdir)' '$(datadir)' '$(docdir)' '$(htmldir_install)' '$(htmldir_configure)' '$(GHC_PKG_PROG)' '$(DESTDIR)$(libdir)/package.conf' ; \ fi .PHONY: binary-dist binary-dist.library.%