Commit 4217c6ca authored by Ian Lynagh's avatar Ian Lynagh

Fix installing the documentation in the bindists

parent dc5fc2a6
......@@ -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
......
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)
......@@ -18,6 +18,8 @@ platform = @TargetPlatform@
prefix = @prefix@
exec_prefix = @exec_prefix@
mandir = $(datarootdir)/man
headerdir = $(libdir)/include
# default
......
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
......@@ -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
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment