pass -no-user-package-conf to ghc-inplace
[ghc-hetmet.git] / mk / install.mk
index 84c60b3..dd8dfc4 100644 (file)
@@ -111,7 +111,7 @@ endif # LINK
 # friends can be overridden from their original settings in mk/config.mk.in
 # || mk/build.mk
 #
-.PHONY: install install-docs installdirs install-strip install-dirs install-docs show-install
+.PHONY: install install-docs installdirs install-strip install-docs show-install
 
 show-install :
        @echo "DESTDIR = $(DESTDIR)"
@@ -124,19 +124,6 @@ show-install :
        @echo "includedir = $(includedir)"
 
 #
-# Sometimes useful to separate out the creation of install directories 
-# from the installation itself.
-#
-install-dirs ::
-       $(INSTALL_DIR) $(DESTDIR)$(bindir)
-       $(INSTALL_DIR) $(DESTDIR)$(libdir)
-       $(INSTALL_DIR) $(DESTDIR)$(libexecdir)
-       $(INSTALL_DIR) $(DESTDIR)$(datadir)
-
-# Better do this first...
-install:: install-dirs
-
-#
 # Setting user/group ownership for the installed entities
 #
 ifneq "$(INSTALL_OWNER)" ""
@@ -268,14 +255,6 @@ install:: $(INSTALL_IFACES_WITH_DIRS)
        done
 endif
 
-ifneq "$(strip $(INSTALL_INCLUDES))" ""
-install:: $(INSTALL_INCLUDES)
-       $(INSTALL_DIR) $(DESTDIR)$(includedir)
-       for i in $(INSTALL_INCLUDES); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(includedir); \
-       done
-endif
-
 ifneq "$(strip $(INSTALL_DOCS))" ""
 ifneq "$(XMLDocWays)" ""
 install-docs:: $(INSTALL_DOCS)
@@ -286,27 +265,47 @@ install-docs:: $(INSTALL_DOCS)
 endif
 endif
 
-# TODO: The following could be an entry for an Obfuscated Makefile Contest...
 ifneq "$(strip $(INSTALL_XML_DOC))" ""
+ifeq "$(DOC_SUBDIR)" ""
+DOC_SUBDIR=docs/$(XML_DOC)
+endif
+
+binary-dist::
+       $(MKDIRHIER) $(BIN_DIST_DIR)/$(DOC_SUBDIR)
+       $(CP) Makefile $(BIN_DIST_DIR)/$(DOC_SUBDIR)
+
 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_DIR) $(DESTDIR)$(datadir)
-       for i in $(XMLDocWays); do \
-               if [ $$i = "html" ]; then \
-                       $(INSTALL_DIR) $(DESTDIR)$(datadir)/html; \
-                       $(INSTALL_DIR) $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC); \
-                       echo "( cd $(INSTALL_XML_DOC) && $(CP) * $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC) )" ; \
-                       ( cd $(INSTALL_XML_DOC) && $(CP) * $(DESTDIR)$(datadir)/html/$(INSTALL_XML_DOC) ) ; \
-               else \
-                       $(INSTALL_DIR) $(DESTDIR)$(datadir)/doc; \
-                       echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(DESTDIR)$(datadir)/doc; \
-                       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(DESTDIR)$(datadir)/doc; \
-               fi; \
-               if [ $$i = "html-no-chunks" ]; then \
-                       echo $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(datadir)/doc; \
-                       $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(datadir)/doc; \
-               fi \
-       done
+
+install-docs:: $(foreach i,$(XMLDocWays),install-docs-$i)
+
+install-docs-html:
+       $(INSTALL_DIR) $(DESTDIR)$(htmldir)
+       $(INSTALL_DIR) $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC)
+       $(CP) $(INSTALL_XML_DOC)/* $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC)
+
+install-docs-html-no-chunks:
+       $(INSTALL_DIR) $(DESTDIR)$(htmldir)
+       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).html $(DESTDIR)$(htmldir)
+       $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(htmldir)
+
+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)/$(DOC_SUBDIR)
+
+binary-dist-docs-html-no-chunks:
+       $(CP) $(INSTALL_XML_DOC).html $(BIN_DIST_DIR)/$(DOC_SUBDIR)/
+
+binary-dist-docs-%:
+       $(CP) $(INSTALL_XML_DOC).$* $(BIN_DIST_DIR)/$(DOC_SUBDIR)/
 endif
 endif