[project @ 2004-09-05 17:55:24 by panne]
[ghc-hetmet.git] / mk / target.mk
index a823d57..c824dad 100644 (file)
@@ -681,6 +681,17 @@ install-dirs ::
 # within the various install targets instead.
 #install:: install-dirs
 
+#
+# Setting user/group ownership for the installed entities
+#
+ifneq "$(INSTALL_OWNER)" ""
+SRC_INSTALL_OPTS += -o $(INSTALL_OWNER)
+endif
+ifneq "$(INSTALL_GROUP)" ""
+SRC_INSTALL_OPTS += -g $(INSTALL_GROUP)
+endif
+
+
 ifneq "$(INSTALL_PROGS)" ""
 
 #
@@ -795,13 +806,6 @@ install:: $(INSTALL_INCLUDES)
 endif
 
 ifneq "$(INSTALL_DOCS)" ""
-ifneq "$(SGMLDocWays)" ""
-install-docs:: $(INSTALL_DOCS)
-       @$(INSTALL_DIR) $(datadir)      
-       for i in $(INSTALL_DOCS); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir); \
-       done
-endif
 ifneq "$(XMLDocWays)" ""
 install-docs:: $(INSTALL_DOCS)
        @$(INSTALL_DIR) $(datadir)      
@@ -811,40 +815,23 @@ install-docs:: $(INSTALL_DOCS)
 endif
 endif
 
-# The following could be an entry for an Obfuscated Makefile Contest...
+# TODO: The following could be an entry for an Obfuscated Makefile Contest...
 ifneq "$(INSTALL_XML_DOC)" ""
 ifneq "$(XMLDocWays)" ""
-install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(subst .no-chunks-html,-no-chunks.html,.$(i)))
+install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.htmlhelp,%.chm,$(patsubst %.html,%-html/index.html,.$(i)))))
        @$(INSTALL_DIR) $(datadir)      
        @for i in $(XMLDocWays); do \
                if [ $$i = "html" ]; then \
                        $(INSTALL_DIR) $(datadir)/html; \
-                       echo $(CP) -r $(INSTALL_XML_DOC) $(datadir)/html; \
-                       $(CP) -r $(INSTALL_XML_DOC) $(datadir)/html; \
+                       echo "( cd $(INSTALL_XML_DOC)-html && $(CP) * $(datadir)/html )" ; \
+                       ( cd $(INSTALL_XML_DOC)-html && $(CP) * $(datadir)/html ) ; \
                else \
-                       echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.no-chunks-html/-no-chunks.html/` $(datadir); \
-                       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.no-chunks-html/-no-chunks.html/` $(datadir); \
+                       echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.htmlhelp/.chm/ | sed s/\.html-no-chunks/.html/` $(datadir); \
+                       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.htmlhelp/.chm/ | sed s/\.html-no-chunks/.html/` $(datadir); \
                fi; \
-               if [ $$i = "no-chunks-html" ]; then \
-                       echo $(CP) $(FPTOOLS_CSS) $(datadir); \
-                       $(CP) $(FPTOOLS_CSS) $(datadir); \
-               fi \
-       done
-endif
-endif
-
-ifneq "$(INSTALL_SGML_DOC)" ""
-ifneq "$(SGMLDocWays)" ""
-install-docs:: $(foreach i,$(SGMLDocWays),$(INSTALL_SGML_DOC).$i)
-       @$(INSTALL_DIR) $(datadir)      
-       @for i in $(SGMLDocWays); do \
-               if [ $$i = "html" ]; then \
-                       $(INSTALL_DIR) $(datadir)/html; \
-                       echo $(CP) -r $(INSTALL_SGML_DOC) $(datadir)/html; \
-                       $(CP) -r $(INSTALL_SGML_DOC) $(datadir)/html; \
-               else \
-                       echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_SGML_DOC).$$i $(datadir); \
-                       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_SGML_DOC).$$i $(datadir); \
+               if [ $$i = "html-no-chunks" ]; then \
+                       echo $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \
+                       $(CP) $(FPTOOLS_CSS_ABS) $(datadir); \
                fi \
        done
 endif
@@ -933,57 +920,11 @@ show:
 
 ################################################################################
 #
-#                      SGML Documentation
-#
-################################################################################
-
-.PHONY: dvi ps html pdf rtf
-
-ifneq "$(SGML_DOC)" ""
-
-all :: $(SGMLDocWays)
-
-# multi-file SGML document: main document name is specified in $(SGML_DOC),
-# sub-documents (.sgml files) listed in $(SGML_SRCS).
-
-ifeq "$(SGML_SRCS)" ""
-SGML_SRCS = $(wildcard *.sgml)
-endif
-
-SGML_TEX  = $(addsuffix .tex,$(SGML_DOC))
-SGML_DVI  = $(addsuffix .dvi,$(SGML_DOC))
-SGML_PS   = $(addsuffix .ps,$(SGML_DOC))
-SGML_PDF  = $(addsuffix .pdf,$(SGML_DOC))
-SGML_RTF  = $(addsuffix .rtf,$(SGML_DOC))
-SGML_HTML = $(addsuffix .html,$(SGML_DOC))
-# HTML output goes in a subdirectory on its own.
-SGML_TEXT = $(addsuffix .txt,$(SGML_DOC))
-
-$(SGML_DVI) $(SGML_PS) $(SGML_HTML) $(SGML_TEXT) $(SGML_PDF) :: $(SGML_SRCS)
-
-dvi  :: $(SGML_DVI)
-ps   :: $(SGML_PS)
-pdf  :: $(SGML_PDF)
-rtf  :: $(SGML_RTF)
-html :: $(SGML_HTML)
-txt  :: $(SGML_TEXT)
-
-CLEAN_FILES += $(SGML_TEXT) $(SGML_TEX) $(SGML_PS) $(SGML_DVI) $(SGML_PDF) $(SGML_RTF) $(SGML_HTML) $(SGML_DOC)-*.html
-# can't use $(SGML_SRCS) here, it was maybe used elsewhere
-
-extraclean ::
-       $(RM) -rf DBTOHTML_OUTPUT_*
-       $(RM) -rf *.junk/
-       $(RM) -rf $(SGML_DOC)
-endif
-
-################################################################################
-#
 #                      DocBook XML Documentation
 #
 ################################################################################
 
-.PHONY: html no-chunks-html fo dvi ps pdf
+.PHONY: html html-no-chunks htmlhelp fo dvi ps pdf
 
 ifneq "$(XML_DOC)" ""
 
@@ -996,8 +937,9 @@ ifeq "$(XML_SRCS)" ""
 XML_SRCS = $(wildcard *.xml)
 endif
 
-XML_HTML           = $(addsuffix .html,$(XML_DOC))
-XML_NO_CHUNKS_HTML = $(addsuffix -no-chunks.html,$(XML_DOC))
+XML_HTML           = $(addsuffix -html/index.html,$(basename $(XML_DOC)))
+XML_HTML_NO_CHUNKS = $(addsuffix .html,$(XML_DOC))
+XML_HTMLHELP       = $(addsuffix -htmlhelp/index.html,$(basename $(XML_DOC)))
 XML_FO             = $(addsuffix .fo,$(XML_DOC))
 XML_DVI            = $(addsuffix .dvi,$(XML_DOC))
 XML_PS             = $(addsuffix .ps,$(XML_DOC))
@@ -1006,16 +948,17 @@ XML_PDF            = $(addsuffix .pdf,$(XML_DOC))
 $(XML_HTML) $(XML_NO_CHUNKS_HTML) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF) :: $(XML_SRCS)
 
 html           :: $(XML_HTML)
-no-chunks-html :: $(XML_NO_CHUNKS_HTML)
+html-no-chunks :: $(XML_HTML_NO_CHUNKS)
+htmlhelp       :: $(XML_HTMLHELP)
 fo             :: $(XML_FO)
 dvi            :: $(XML_DVI)
 ps             :: $(XML_PS)
 pdf            :: $(XML_PDF)
 
-CLEAN_FILES += $(XML_HTML) $(XML_NO_CHUNKS_HTML) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF)
+CLEAN_FILES += $(XML_HTML_NO_CHUNKS) $(XML_FO) $(XML_DVI) $(XML_PS) $(XML_PDF)
 
 extraclean ::
-       $(RM) -rf $(XML_DOC).out $(XML_DOC)
+       $(RM) -rf $(XML_DOC).out $(FPTOOLS_CSS) $(basename $(XML_DOC))-html $(basename $(XML_DOC))-htmlhelp
 
 validate ::
        $(XMLLINT) --valid --noout $(XMLLINT_OPTS) $(XML_DOC).xml