ANNOUNCE \
LICENSE \
install-sh \
- extra-gcc-opts.in \
+ extra-gcc-opts.in \
config.guess \
config.sub \
aclocal.m4
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
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:
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
@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)
-
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
$(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
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 > $@
<!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
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))))
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