[project @ 2004-08-18 16:16:54 by panne]
authorpanne <unknown>
Wed, 18 Aug 2004 16:16:57 +0000 (16:16 +0000)
committerpanne <unknown>
Wed, 18 Aug 2004 16:16:57 +0000 (16:16 +0000)
* Preliminary support for HTML Help (target "htmlhelp". Note: No
  support for *.chm yet, I have to download hhc first for testing.

* Made directory/file layout more consistent:
     * All-in-one HTML for foo.xml goes into foo.html
     * Chunked HTML for foo.xml goes into foo-html directory with root index.html
     * HTML Help for foo.xml goes into foo-htmlhelp directory
  For the rationale behind this, read "Cool URIs don't change" at
  http://www.w3.org/Provider/Style/URI.

* Renamed "no-chunks-html" make target to "html-no-chunks"

mk/suffix.mk
mk/target.mk

index c427a01..6d2c180 100644 (file)
@@ -243,21 +243,25 @@ endif
 # DocBook XML suffix rules
 #
 
-%-no-chunks.html : %.xml
+%.html : %.xml
        $(XSLTPROC) --output $@ \
                    --stringparam html.stylesheet fptools.css \
                    $(XSLTPROC_OPTS) $(DIR_DOCBOOK_XSL)/html/docbook.xsl $<
        cp $(FPTOOLS_CSS) .
 
-%.html : %.xml
-       @$(RM) -rf $@ $(basename $@)
-       $(XSLTPROC) --stringparam base.dir $(basename $@)/ \
+%-html/index.html : %.xml
+       $(RM) -rf $(dir $@)
+       $(XSLTPROC) --stringparam base.dir $(dir $@) \
                    --stringparam use.id.as.filename 1 \
-                   --stringparam root.filename '' \
                    --stringparam html.stylesheet fptools.css \
                    $(XSLTPROC_OPTS) $(DIR_DOCBOOK_XSL)/html/chunk.xsl $<
-       cp $(FPTOOLS_CSS) $(basename $@)
-       touch $@
+       cp $(FPTOOLS_CSS) $(dir $@)
+
+%-htmlhelp/index.html : %.xml
+       $(RM) -rf $(dir $@)
+       $(XSLTPROC) --stringparam base.dir $(dir $@) \
+                   --stringparam manifest.in.base.dir 1 \
+                   $(XSLTPROC_OPTS) $(DIR_DOCBOOK_XSL)/htmlhelp/htmlhelp.xsl $<
 
 %.fo : %.xml
        $(XSLTPROC) --output $@ \
index a823d57..2db0d8a 100644 (file)
@@ -814,18 +814,22 @@ endif
 # 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,%-htmlhelp/index.html,$(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 ) ; \
+               elif [ $$i = "htmlhelp" ]; then \
+                       $(INSTALL_DIR) $(datadir)/htmlhelp; \
+                       echo "( cd $(INSTALL_XML_DOC)-htmlhelp && $(CP) * $(datadir)/htmlhelp )" ; \
+                       ( cd $(INSTALL_XML_DOC)-htmlhelp && $(CP) * $(datadir)/htmlhelp ) ; \
                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/\.html-no-chunks/.html/` $(datadir); \
+                       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC)`echo .$$i | sed s/\.html-no-chunks/.html/` $(datadir); \
                fi; \
-               if [ $$i = "no-chunks-html" ]; then \
+               if [ $$i = "html-no-chunks" ]; then \
                        echo $(CP) $(FPTOOLS_CSS) $(datadir); \
                        $(CP) $(FPTOOLS_CSS) $(datadir); \
                fi \
@@ -983,7 +987,7 @@ endif
 #
 ################################################################################
 
-.PHONY: html no-chunks-html fo dvi ps pdf
+.PHONY: html html-no-chunks htmlhelp fo dvi ps pdf
 
 ifneq "$(XML_DOC)" ""
 
@@ -996,8 +1000,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 +1011,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 $(notdir $(FPTOOLS_CSS)) $(addsuffix -html,$(basename $(XML_DOC))) $(addsuffix -htmlhelp,$(basename $(XML_DOC)))
 
 validate ::
        $(XMLLINT) --valid --noout $(XMLLINT_OPTS) $(XML_DOC).xml