Fix installing the documentation in the bindists
authorIan Lynagh <igloo@earth.li>
Tue, 23 Oct 2007 23:46:24 +0000 (23:46 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 23 Oct 2007 23:46:24 +0000 (23:46 +0000)
Makefile
distrib/Makefile
distrib/Makefile-bin-vars.in
docs/Makefile
docs/man/Makefile
mk/install.mk

index a788dac..287754a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -271,7 +271,7 @@ BIN_DIST_TOP= distrib/Makefile \
               ANNOUNCE \
               LICENSE \
               install-sh \
-             extra-gcc-opts.in \
+              extra-gcc-opts.in \
               config.guess \
               config.sub   \
               aclocal.m4
@@ -294,17 +294,19 @@ binary-dist-pre::
        cp mk/package.mk $(BIN_DIST_DIR)/mk/
        cp mk/install.mk $(BIN_DIST_DIR)/mk/
        cp mk/recurse.mk $(BIN_DIST_DIR)/mk/
+       cp mk/fptools.css $(BIN_DIST_DIR)/mk/
        $(MKDIRHIER) $(BIN_DIST_DIR)/lib/$(TARGETPLATFORM)
        $(MKDIRHIER) $(BIN_DIST_DIR)/share
 
 binary-dist::
-       $(MAKE) -C gmp      binary-dist DOING_BIN_DIST=YES
-       $(MAKE) -C includes binary-dist DOING_BIN_DIST=YES
-       $(MAKE) -C compiler binary-dist DOING_BIN_DIST=YES $(INSTALL_STAGE)
-       # XXX $(MAKE) -C docs     binary-dist DOING_BIN_DIST=YES
-       $(MAKE) -C rts      binary-dist DOING_BIN_DIST=YES
-       $(MAKE) -C driver   binary-dist DOING_BIN_DIST=YES
-       $(MAKE) -C utils    binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C gmp       binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C includes  binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C compiler  binary-dist DOING_BIN_DIST=YES $(INSTALL_STAGE)
+       $(MAKE) -C rts       binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C driver    binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C utils     binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C docs      binary-dist DOING_BIN_DIST=YES
+       $(MAKE) -C libraries binary-dist DOING_BIN_DIST=YES
 
 VARFILE=$(BIN_DIST_DIR)/Makefile-vars.in
 
@@ -325,69 +327,11 @@ binary-dist::
        echo "GhcWithInterpreter = $(GhcWithInterpreter)"            >> $(VARFILE)
        echo "GhcHasReadline = $(GhcHasReadline)"                    >> $(VARFILE)
        echo "BootingFromHc = $(BootingFromHc)"                      >> $(VARFILE)
+       echo "XMLDocWays = $(XMLDocWays)"                            >> $(VARFILE)
        cat distrib/Makefile-bin-vars.in                             >> $(VARFILE)
        @echo "Generating a shippable configure script.."
        $(MV) $(BIN_DIST_DIR)/configure-bin.ac $(BIN_DIST_DIR)/configure.ac
        ( cd $(BIN_DIST_DIR); autoreconf )
-
-#
-# binary dist'ing the documentation.  
-# The default documentation to build/install is given below; overrideable
-# via build.mk or the 'make' command-line.
-#
-# If BINDIST_DOC_WAYS is set, use that
-# If XMLDocWays is set, use that
-# Otherwise, figure out what we can build based on configure results
-
-ifndef BINDIST_DOC_WAYS
-
-ifneq "$(XMLDocWays)" ""
-BINDIST_DOC_WAYS = $(XMLDocWays)
-else
-ifneq "$(XSLTPROC)" ""
-BINDIST_DOC_WAYS = html
-ifneq "$(FOP)" ""
-BINDIST_DOC_WAYS += ps pdf
-else
-ifneq "$(PDFXMLTEX)" ""
-BINDIST_DOC_WAYS += pdf
-endif
-ifneq "$(XMLTEX)" ""
-ifneq "$(DVIPS)" ""
-BINDIST_DOC_WAYS += ps
-endif # DVIPS
-endif # XMLTEX
-endif # FOP
-endif # XSLTPROC
-endif # XMLDocWays
-
-endif # BINDIST_DOC_WAYS
-
-ifneq "$(DIR_DOCBOOK_XSL)" ""
-.PHONY: binary-dist-doc-%
-
-BINARY_DIST_DOC_RULES=$(foreach d,$(BinDistDirs),binary-dist-doc-$d)
-
-binary-dist :: $(BINARY_DIST_DOC_RULES)
-
-$(BINARY_DIST_DOC_RULES): binary-dist-doc-%:
-       $(MAKE) -C $* $(MFLAGS) $(BINDIST_DOC_WAYS)
-       $(MAKE) -C $* $(MFLAGS) install-docs \
-                       MAKING_BIN_DIST=1 \
-               XMLDocWays="$(BINDIST_DOC_WAYS)" \
-               prefix=$(BIN_DIST_DIR) \
-               exec_prefix=$(BIN_DIST_DIR) \
-               bindir=$(BIN_DIST_DIR)/bin/$(TARGETPLATFORM) \
-               libdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \
-               libexecdir=$(BIN_DIST_DIR)/lib/$(TARGETPLATFORM) \
-               datadir=$(BIN_DIST_DIR)/share
-endif
-
-.PHONY: binary-dist-doc-%
-
-binary-dist::
-       $(MAKE) -C libraries binary-dist
-
 endif
 
 # Tar up the distribution and build a manifest
index 06c1f29..adf39ac 100644 (file)
@@ -1,7 +1,7 @@
 
 include Makefile-vars
 
-.PHONY: mk-version-symlinks install
+.PHONY: install postinstall denounce show-install-setup
 
 #.PHONY: in-place
 # This has bitrotted:
@@ -16,20 +16,18 @@ include Makefile-vars
 
 install ::
        $(INSTALL_DIR) $(bindir)
-       (cd share; find . -type d -exec sh -c '$(INSTALL_DIR) $(datadir)/$$0' {} \; )
 
 install::
-       $(MAKE) -C includes  install DOING_BIN_DIST=YES
-       $(MAKE) -C driver    install DOING_BIN_DIST=YES
-       $(MAKE) -C utils     install DOING_BIN_DIST=YES
-       $(MAKE) -C rts       install DOING_BIN_DIST=YES
-       $(MAKE) -C libraries install DOING_BIN_DIST=YES
-       $(MAKE) -C compiler  install DOING_BIN_DIST=YES
+       $(MAKE) -C includes  install      DOING_BIN_DIST=YES
+       $(MAKE) -C driver    install      DOING_BIN_DIST=YES
+       $(MAKE) -C utils     install      DOING_BIN_DIST=YES
+       $(MAKE) -C rts       install      DOING_BIN_DIST=YES
+       $(MAKE) -C libraries install      DOING_BIN_DIST=YES
+       $(MAKE) -C compiler  install      DOING_BIN_DIST=YES
+       $(MAKE) -C docs      install-docs DOING_BIN_DIST=YES
        $(INSTALL_DATA) $(INSTALL_OPTS) extra-gcc-opts $(libdir)
 
-install :: install-docs postinstall denounce
-
-.PHONY: postinstall denounce
+install :: postinstall denounce
 
 denounce:
        @echo
@@ -60,20 +58,3 @@ show-install-setup:
        @echo "libdir  = $(libdir) (libdir  = $(libdir))"
        @echo "datadir = $(datadir) (datadir = $(datadir))"
 
-#
-# Documentation targets: install-docs.
-#
-
-.PHONY: show-install-setup install-docs install-dirs-docs
-
-install-docs : install-dirs-docs
-       if test -d share/html ; then $(CP) -r share/html/* $(htmldir) ; fi
-       set -e; for i in share/*.ps; do \
-               if test -f "$$i"; then \
-                     $(CP) $$i $(psdir) ; \
-               fi \
-       done
-
-install-dirs-docs:
-       $(INSTALL_DIR) $(htmldir) 
-
index f6b59ed..1b5b8fa 100644 (file)
@@ -18,6 +18,8 @@ platform    = @TargetPlatform@
 prefix      = @prefix@
 exec_prefix = @exec_prefix@
 
+mandir      = $(datarootdir)/man
+
 headerdir   = $(libdir)/include
 
 # default
index 19d80b9..fc60173 100644 (file)
@@ -1,7 +1,10 @@
 TOP = ..
 include $(TOP)/mk/boilerplate.mk
 
-SUBDIRS = man docbook-cheat-sheet ext-core storage-mgt users_guide
+SUBDIRS = man docbook-cheat-sheet users_guide
+ifneq "$(DOING_BIN_DIST)" "YES"
+SUBDIRS += ext-core storage-mgt
+endif
 
 PAGES = index.html
 
@@ -9,4 +12,15 @@ install-docs :: $(PAGES)
        $(INSTALL_DIR)                                                   $(DESTDIR)$(htmldir)
        $(INSTALL_DATA) $(INSTALL_OPTS) $(PAGES) $(DESTDIR)$(htmldir)
 
+.PHONY: binary-dist binary-dist.doc.%
+
+binary-dist: $(foreach SUBDIR,$(SUBDIRS),binary-dist.doc.$(SUBDIR))
+       $(MKDIRHIER) $(BIN_DIST_DIR)/docs
+       cp Makefile $(BIN_DIST_DIR)/docs/
+       cp $(PAGES) $(BIN_DIST_DIR)/docs/
+
+$(foreach SUBDIR,$(SUBDIRS),binary-dist.doc.$(SUBDIR)): \
+binary-dist.doc.%:
+       $(MAKE) -C $* binary-dist
+
 include $(TOP)/mk/target.mk
index ab20fde..047a348 100644 (file)
@@ -12,6 +12,8 @@ MAN_SECTION = 1
 
 CLEAN_FILES += $(MAN_PAGE).$(MAN_SECTION) flags.xsl flags.xml
 
+ifneq "$(DOING_BIN_DIST)" "YES"
+
 $(MAN_PAGE).$(MAN_SECTION): flags.xsl flags.xml
        $(XSLTPROC) $(XSLTPROC_OPTS) flags.xsl flags.xml > $@
 
@@ -29,9 +31,16 @@ flags.xml: ../users_guide/flags.xml
                               <!ENTITY rdquo  \"'\">]>" >> $@
        tail -n +2 $< >> $@
 
+endif
+
 install-docs:: $(MAN_PAGE).$(MAN_SECTION)
        $(INSTALL_DIR) $(DESTDIR)$(mandir)
        $(INSTALL_DIR) $(DESTDIR)$(mandir)/man$(MAN_SECTION)
        $(INSTALL_MAN) $(INSTALL_OPTS) $(MAN_PAGE).$(MAN_SECTION) $(DESTDIR)$(mandir)/man$(MAN_SECTION)
 
+binary-dist:: $(MAN_PAGE).$(MAN_SECTION)
+       $(MKDIRHIER) $(BIN_DIST_DIR)/docs/man
+       cp Makefile                   $(BIN_DIST_DIR)/docs/man/
+       cp $(MAN_PAGE).$(MAN_SECTION) $(BIN_DIST_DIR)/docs/man/
+
 include $(TOP)/mk/target.mk
index d594c8c..9f4a1e5 100644 (file)
@@ -266,6 +266,10 @@ endif
 endif
 
 ifneq "$(strip $(INSTALL_XML_DOC))" ""
+binary-dist::
+       $(MKDIRHIER) $(BIN_DIST_DIR)/docs/$(XML_DOC)
+       cp Makefile $(BIN_DIST_DIR)/docs/$(XML_DOC)
+
 ifneq "$(XMLDocWays)" ""
 # TODO: The following could be an entry for an Obfuscated Makefile Contest...
 install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.html,%/index.html,.$(i))))
@@ -286,6 +290,19 @@ install-docs-html-no-chunks:
 install-docs-%:
        $(INSTALL_DIR) $(DESTDIR)$($*dir)
        $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).$* $(DESTDIR)$($*dir)
+
+binary-dist:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.html,%/index.html,.$(i))))
+
+binary-dist:: $(foreach i,$(XMLDocWays),binary-dist-docs-$i)
+
+binary-dist-docs-html:
+       cp -r $(INSTALL_XML_DOC) $(BIN_DIST_DIR)/docs/$(XML_DOC)/
+
+binary-dist-docs-html-no-chunks:
+       cp $(INSTALL_XML_DOC).html $(BIN_DIST_DIR)/docs/$(XML_DOC)/
+
+binary-dist-docs-%:
+       cp $(INSTALL_XML_DOC).$* $(BIN_DIST_DIR)/docs/$(XML_DOC)/
 endif
 endif