Fix SPARC build, missing #include
[ghc-hetmet.git] / mk / install.mk
index de8866f..1efb695 100644 (file)
@@ -111,7 +111,7 @@ endif # LINK
 # friends can be overridden from their original settings in mk/config.mk.in
 # || mk/build.mk
 #
 # 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)"
 
 show-install :
        @echo "DESTDIR = $(DESTDIR)"
@@ -124,19 +124,6 @@ show-install :
        @echo "includedir = $(includedir)"
 
 #
        @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)" ""
 # Setting user/group ownership for the installed entities
 #
 ifneq "$(INSTALL_OWNER)" ""
@@ -158,7 +145,12 @@ ifneq "$(strip $(INSTALL_PROGS))" ""
 # entry in the INSTALL_PROGS list. If there's no suffix, use
 # $(exeext).
 # 
 # entry in the INSTALL_PROGS list. If there's no suffix, use
 # $(exeext).
 # 
-INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS), $(addsuffix $(if $(suffix $(p)),,$(exeext)), $(basename $(p))))
+INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS),\
+                   $(if $(filter $(exeext),$(suffix $p)),\
+                        $p,\
+                        $(addsuffix $(exeext),$p)\
+                    )\
+                  )
 
 install:: $(INSTALL_PROGS)
        $(INSTALL_DIR) $(DESTDIR)$(bindir)
 
 install:: $(INSTALL_PROGS)
        $(INSTALL_DIR) $(DESTDIR)$(bindir)
@@ -278,27 +270,30 @@ install-docs:: $(INSTALL_DOCS)
 endif
 endif
 
 endif
 endif
 
-# TODO: The following could be an entry for an Obfuscated Makefile Contest...
 ifneq "$(strip $(INSTALL_XML_DOC))" ""
 ifneq "$(strip $(INSTALL_XML_DOC))" ""
+ifeq "$(DOC_SUBDIR)" ""
+DOC_SUBDIR=docs/$(XML_DOC)
+endif
+
 ifneq "$(XMLDocWays)" ""
 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:: $(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)
 endif
 endif
 
 endif
 endif