Yet another attempt to get the paths for the installed documentation correct
[ghc-hetmet.git] / libraries / Makefile
index 1b6546b..ae92be9 100644 (file)
 #   [ -e foo/configure.ac ] && ( cd foo && autoreconf )
 #   make make.library.foo
 
-.PHONY: default_target
+.PHONY: default_target show
 
 default_target: all
 
+show:
+       @echo '$(VALUE)="$($(VALUE))"'
+
 # make doesn't give us an easy way to get the libraries built in
 # dependency order the first time, but not rebuild base (for example)
 # when we want to rebuild another library later.
@@ -195,13 +198,10 @@ configure: $(foreach SUBDIR,$(SUBDIRS), \
 # 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"
-datadir        = $$prefix
 libsubdir      = $$pkgid
 else
-datadir        = $$prefix/share/ghc
 libsubdir      = $$compiler/lib/$$pkgid
 endif
-libraryhtmldir = $(htmldir)/libraries
 
 # We rely on all the CONFIGURE_ARGS being quoted with '...', and there
 # being no 's inside the values.
@@ -217,14 +217,12 @@ stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).%: %/setup/Setup
                   $(CONFIGURE_OPTS) \
                   --prefix='$$topdir' \
                   --datadir='$(datadir)' \
-                  --datasubdir='$$pkgid' \
                   --libsubdir='$(libsubdir)' \
-                  --docdir='$(libraryhtmldir)' \
                   --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-args="--use-contents=../index.html \
+                  --haddock-options="--use-contents=../index.html \
                                   --use-index=../doc-index.html" \
                   $(FLAGGED_CONFIGURE_ARGS) \
                   --configure-option=--with-cc=$(CC) ) \
@@ -272,7 +270,7 @@ $(foreach SUBDIR,$(SUBDIRS),doc.library.$(SUBDIR)):\
 doc.library.%: stamp/configure.library.build$(CONFIGURE_STAMP_EXTRAS).% \
                %/setup/Setup ifBuildable/ifBuildable
        if ifBuildable/ifBuildable $*; then \
-         cd $* && setup/Setup haddock; \
+         cd $* && setup/Setup haddock --html-location='../$$pkg'; \
        fi
 
 .PHONY: distclean clean clean.library.%
@@ -298,17 +296,17 @@ endif
 
 .PHONY: install install-docs install.library.%
 
-DESTlibraryhtmldir = $(DESTDIR)$(libraryhtmldir)/html
+libraryhtmldir = $(htmldir)/libraries
 
 install: $(foreach SUBDIR,$(SUBDIRS),install.library.$(SUBDIR))
 ifeq "$(HADDOCK_DOCS)" "YES"
-       $(INSTALL_DIR)                                      $(DESTlibraryhtmldir)
-       $(INSTALL_DATA)   index.html doc-index.html         $(DESTlibraryhtmldir)
-       $(INSTALL_SCRIPT) gen_contents_index                $(DESTlibraryhtmldir)
+       $(INSTALL_DIR)                                           $(DESTDIR)$(libraryhtmldir)
+       $(INSTALL_DATA)   index.html doc-index.html              $(DESTDIR)$(libraryhtmldir)
+       $(INSTALL_SCRIPT) gen_contents_index                     $(DESTDIR)$(libraryhtmldir)
        # Hacks:
-       $(INSTALL_DATA)   $(DESTlibraryhtmldir)/base/*.css $(DESTlibraryhtmldir)
-       $(INSTALL_DATA)   $(DESTlibraryhtmldir)/base/*.js  $(DESTlibraryhtmldir)
-       $(INSTALL_DATA)   $(DESTlibraryhtmldir)/base/*.gif $(DESTlibraryhtmldir)
+       $(INSTALL_DATA)   $(DESTDIR)$(libraryhtmldir)/base/*.css $(DESTDIR)$(libraryhtmldir)
+       $(INSTALL_DATA)   $(DESTDIR)$(libraryhtmldir)/base/*.js  $(DESTDIR)$(libraryhtmldir)
+       $(INSTALL_DATA)   $(DESTDIR)$(libraryhtmldir)/base/*.gif $(DESTDIR)$(libraryhtmldir)
 endif
 
 # Cabal doesn't let us ask to install docs only, so do nothing here
@@ -322,7 +320,7 @@ $(foreach SUBDIR,$(SUBDIRS),install.library.$(SUBDIR)): \
 install.library.%: installPackage/installPackage ifBuildable/ifBuildable
        if ifBuildable/ifBuildable $*; then \
          cd $* && \
-         ../installPackage/installPackage "$(DESTDIR)" $(prefix) $(FPTOOLS_TOP_ABS)/$(GHC_PKG_DIR_REL)/ghc-pkg-inplace $(DESTDIR)$(libdir)/package.conf; \
+         ../installPackage/installPackage "$(DESTDIR)" "$(prefix)" "$(datadir)" "$(libraryhtmldir)/$*" "$(libraryhtmldir)" "$(GHC_PKG_PROG)" "$(DESTDIR)$(libdir)/package.conf" ; \
        fi
 
 .PHONY: binary-dist binary-dist.library.%
@@ -344,13 +342,13 @@ endif
 
 $(foreach SUBDIR,$(SUBDIRS),binary-dist.library.$(SUBDIR)): \
 binary-dist.library.%:
-       $(MKDIRHIER) $(BIN_DIST_LIBDIR)/$*
        if ifBuildable/ifBuildable $*; then \
+         $(MKDIRHIER) $(BIN_DIST_LIBDIR)/$*; \
          cd $* && \
          cp    $*.cabal      $(BIN_DIST_LIBDIR)/$* && \
          cp    LICENSE       $(BIN_DIST_LIBDIR)/$* && \
          cp -R dist          $(BIN_DIST_LIBDIR)/$* && \
-         (cp -RL include      $(BIN_DIST_LIBDIR)/$* || :) && \
+         (cp -RL include      $(BIN_DIST_LIBDIR)/$* || true) && \
          $(FIND) $(BIN_DIST_LIBDIR)/$*/dist \
             \( -name "*_split" -o -name "autogen" \) | xargs rm -rf && \
          $(FIND) $(BIN_DIST_LIBDIR)/$*/dist \