fix docs build for good
authorThomas Vander Stichele <thomas@apestaart.org>
Wed, 8 Oct 2003 14:34:09 +0000 (14:34 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Wed, 8 Oct 2003 14:34:09 +0000 (14:34 +0000)
Original commit message from CVS:
fix docs build for good

31 files changed:
common
docs/Makefile.am
docs/faq/Makefile.am
docs/faq/gstreamer-faq.xml
docs/faq/magic-pdf [deleted file]
docs/faq/magic-png [deleted file]
docs/htmlinstall.mak [new file with mode: 0644]
docs/image-eps [new file with mode: 0644]
docs/image-pdf [new file with mode: 0644]
docs/image-png [new file with mode: 0644]
docs/manual/Makefile.am
docs/manual/advanced-autoplugging.xml
docs/manual/advanced-threads.xml
docs/manual/basics-bins.xml
docs/manual/basics-elements.xml
docs/manual/basics-helloworld.xml
docs/manual/bins.xml
docs/manual/elements.xml
docs/manual/factories.xml
docs/manual/gstreamer-manual.xml
docs/manual/helloworld.xml
docs/manual/links.xml
docs/manual/magic-pdf [deleted file]
docs/manual/magic-png [deleted file]
docs/manual/queues.xml
docs/manual/threads.xml
docs/manuals.mak
docs/pwg/Makefile.am
docs/pwg/gst-plugin-writers-guide.xml
docs/pwg/magic-pdf [deleted file]
docs/pwg/magic-png [deleted file]

diff --git a/common b/common
index b7abb51..3f46e8a 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit b7abb510aa14e8692df39ea8c2c758e37d8a8d8a
+Subproject commit 3f46e8a51c6020d29bafdbf9366115deb4cad02d
index f6d66a5..8c6e4e6 100644 (file)
@@ -14,7 +14,7 @@ endif
 SUBDIRS = $(SUBDIRS_DOCS) $(SUBDIRS_PLUGINS)
 DIST_SUBDIRS = faq manual pwg gst libs plugins xsl
 
-EXTRA_DIST = slides manuals.mak
+EXTRA_DIST = slides manuals.mak htmlinstall.mak image-png image-pdf image-eps
 
 dist-hook:
        $(RM) -rf $(distdir)/random/CVS
index ea06c14..c9b3a03 100644 (file)
@@ -1,37 +1,56 @@
-DOC=gstreamer-faq
-MAIN=$(DOC).xml
-XML=$(wildcard *.xml)
-XSLFO=$(srcdir)/../xsl/fo.xsl
-XSLFOMODS=$(srcdir)/../xsl/ulink.xsl $(srcdir)/../xsl/keycombo.xsl
-XSLHTML=$(srcdir)/../xsl/html.xsl
-XSLHTMLMODS=$(srcdir)/../xsl/fileext.xsl $(srcdir)/../xsl/admon.xsl \
-       $(srcdir)/../xsl/keycombo.xsl $(srcdir)/../xsl/css.xsl
-XSLS=$(XSLFO) $(XSLFOMODS) $(XSLHTML) $(XSLHTMLMODS)
-SRC=$(XML)
-CSS=base.css
-
-EXTRA_DIST = $(XML) $(CSS) magic-png magic-pdf
+### this is the part you can customize if you need to
 
+# base name of doc
+DOC = gstreamer-faq
+
+# main xml file
+MAIN = $(DOC).xml
+# all xml sources
+XML = $(notdir $(wildcard $(srcdir)/*.xml))
+# base style sheet
+CSS = base.css
+
+# image sources
+PNG_SRC = 
+FIG_SRC = $(notdir $(wildcard $(srcdir)/*.fig))
+
+### this is the generic bit and you shouln't need to change this
+
+# get the generic docbuilding Makefile stuff
 include $(srcdir)/../manuals.mak
 
+### this is standard automake stuff
+                                                                                
+# package up all the source
+EXTRA_DIST = $(SRC)
+                                                                                
+# install documentation
+docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/$(DOC)
+doc_DATA = $(PDF_DAT) $(PS_DAT)
+                                                                                
+include $(srcdir)/../htmlinstall.mak
+
+### these are website updating targets
 # target for building the faq dir to be put on the website and rsync-ing it
-www:   www-faq
+upload:   www
        export RSYNC_RSH=ssh
-       cd www-faq && rsync -arv * thomasvs@shell.sf.net:/home/groups/g/gs/gstreamer/htdocs/docs/faq/
+       cd www && rsync -arv * thomasvs@shell.sf.net:/home/groups/g/gs/gstreamer/htdocs/docs/faq/
 
-www-faq: gstreamer-faq
-       mkdir -p www-faq
-       cp gstreamer-faq/base.css www-faq
-       cd gstreamer-faq && for a in *.html; do \
+www: html
+       mkdir -p www
+       cp html/base.css www
+       cd html && for a in *.html; do \
                xmllint --format --htmlout $$a 2> /dev/null | \
-                        tail +3 > ../www-faq/$$a; \
+               tail +3 > ../www/$$a; \
        done
-       cd www-faq && rename html php *.html && for a in *.php; do \
+       cd www && rename html php *.html && for a in *.php; do \
                perl -i -p -e's@^.*\<head.*@\<?php include "../../lib/template.php"; echo get_header ("GStreamer: FAQ", "../.."); \?\>@' $$a; \
                perl -i -p -e's@^.*\</body.*@\<?php echo get_footer(); \?\>@' $$a; \
                perl -i -p -e's@^.*\</html.*@@' $$a; \
        done
-       cd www-faq && for a in *.php; do \
+       cd www && for a in *.php; do \
                perl -i -p -e's@href="index\.html@href="index.php@' $$a; \
                perl -i -p -e's@href="(ar.*)\.html@href="$$1.php@' $$a; \
        done
+       @-cp -pr html/images www 2> /dev/null
+
index caa9ca7..36dfa5e 100644 (file)
@@ -1,6 +1,9 @@
 <?xml version="1.0"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+          "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!ENTITY % image-entities SYSTEM "image.entities">
+%image-entities;
 
 <!ENTITY START SYSTEM "start.xml">
 <!ENTITY GENERAL SYSTEM "general.xml">
diff --git a/docs/faq/magic-pdf b/docs/faq/magic-pdf
deleted file mode 100644 (file)
index abc274e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!ENTITY magic "pdf">
diff --git a/docs/faq/magic-png b/docs/faq/magic-png
deleted file mode 100644 (file)
index 6941e28..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!ENTITY magic "png">
diff --git a/docs/htmlinstall.mak b/docs/htmlinstall.mak
new file mode 100644 (file)
index 0000000..fafd23b
--- /dev/null
@@ -0,0 +1,11 @@
+# this file adds rules for installing html subtrees
+# I really don't like this hack, but automake doesn't seem to want to
+# install directory trees :(
+
+install-data-local:
+       mkdir -p $(docdir)
+       cp -pr $(HTML_DAT) $(docdir)
+
+uninstall-local:
+       for part in $(HTML_DAT); do rm -rf $(docdir)/$$part; done
+       rmdir $(docdir)
diff --git a/docs/image-eps b/docs/image-eps
new file mode 100644 (file)
index 0000000..72c8e04
--- /dev/null
@@ -0,0 +1,2 @@
+<!ENTITY image "ps">
+<!ENTITY IMAGE "EPS">
diff --git a/docs/image-pdf b/docs/image-pdf
new file mode 100644 (file)
index 0000000..0a2da4d
--- /dev/null
@@ -0,0 +1,2 @@
+<!ENTITY image "pdf">
+<!ENTITY IMAGE "EPS">
diff --git a/docs/image-png b/docs/image-png
new file mode 100644 (file)
index 0000000..ab8943e
--- /dev/null
@@ -0,0 +1,2 @@
+<!ENTITY image "png">
+<!ENTITY IMAGE "PNG">
index 80bfc1c..9ab655a 100644 (file)
@@ -1,18 +1,31 @@
-DOC=gstreamer-manual
-MAIN=$(DOC).xml
-XML=$(wildcard *.xml)
-XSLFO=$(srcdir)/../xsl/fo.xsl
-XSLFOMODS=$(srcdir)/../xsl/ulink.xsl $(srcdir)/../xsl/keycombo.xsl
-XSLHTML=$(srcdir)/../xsl/html.xsl
-XSLHTMLMODS=$(srcdir)/../xsl/fileext.xsl $(srcdir)/../xsl/admon.xsl \
-       $(srcdir)/../xsl/keycombo.xsl $(srcdir)/../xsl/css.xsl
-XSLS=$(XSLFO) $(XSLFOMODS) $(XSLHTML) $(XSLHTMLMODS)
-FIGS=$(wildcard *.fig)
-PNGS=$(FIGS:.fig=.png)
-PDFS=$(FIGS:.fig=.pdf)
-SRC=$(XML)
-CSS=base.css
-
-EXTRA_DIST = $(XML) $(FIGS) $(CSS) magic-png magic-pdf
+### this is the part you can customize if you need to
 
+# base name of doc
+DOC = gstreamer-manual
+
+# main xml file
+MAIN = $(DOC).xml
+# all xml sources
+XML = $(notdir $(wildcard $(srcdir)/*.xml))
+# base style sheet
+CSS = base.css
+
+# image sources
+PNG_SRC = 
+FIG_SRC = $(notdir $(wildcard $(srcdir)/*.fig))
+
+### this is the generic bit and you shouln't need to change this
+
+# get the generic docbuilding Makefile stuff
 include $(srcdir)/../manuals.mak
+
+### this is standard automake stuff
+
+# package up all the source
+EXTRA_DIST = $(SRC)
+
+# install documentation
+docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/$(DOC)
+doc_DATA = $(PDF_DAT) $(PS_DAT)
+
+include $(srcdir)/../htmlinstall.mak
index 91b1298..19dae27 100644 (file)
@@ -89,7 +89,7 @@
       <title>The Hello world pipeline with MIME types</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/mime-world.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/mime-world.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
 
index 3f43a38..17d3e5b 100644 (file)
@@ -69,7 +69,7 @@
       <title>A thread</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/thread.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/thread.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
index 9989f57..d57ed44 100644 (file)
@@ -20,7 +20,7 @@
     <title>Visualisation of a <classname>GstBin</classname> element with some elements in it</title>
       <mediaobject>  
         <imageobject>
-          <imagedata fileref="images/bin-element.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>
   </figure>
       <title>Visualisation of a <classname>GstBin</classname> element without ghost pads</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/bin-element-noghost.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element-noghost.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
       <title>Visualisation of a <classname>GstBin</classname> element with a ghost pad</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/bin-element-ghost.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element-ghost.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
index a43f5d9..4364e17 100644 (file)
@@ -34,7 +34,7 @@
         <title>Visualisation of a source element</title>
           <mediaobject>  
             <imageobject>
-              <imagedata fileref="images/src-element.&magic;" format="&MAGIC;" />
+              <imagedata fileref="images/src-element.&image;" format="&IMAGE;" />
             </imageobject>
           </mediaobject>
       </figure>
@@ -62,7 +62,7 @@
         <title>Visualisation of a filter element</title>
           <mediaobject>  
             <imageobject>
-              <imagedata fileref="images/filter-element.&magic;" format="&MAGIC;" />
+              <imagedata fileref="images/filter-element.&image;" format="&IMAGE;" />
             </imageobject>
           </mediaobject>
       </figure>
@@ -76,8 +76,8 @@
          more than one output pad</title>
         <mediaobject>  
           <imageobject>
-            <imagedata fileref="images/filter-element-multi.&magic;" 
-                       format="&MAGIC;" />
+            <imagedata fileref="images/filter-element-multi.&image;" 
+                       format="&IMAGE;" />
           </imageobject>
         </mediaobject>
       </figure>
         <title>Visualisation of a sink element</title>
         <mediaobject>  
           <imageobject>
-            <imagedata fileref="images/sink-element.&magic;" format="&MAGIC;" />
+            <imagedata fileref="images/sink-element.&image;" format="&IMAGE;" />
           </imageobject>
         </mediaobject>
       </figure>
index 002894d..011ae90 100644 (file)
@@ -181,7 +181,7 @@ main (int argc, char *argv[])
       <title>The Hello world pipeline</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/hello-world.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/hello-world.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
 
index 9989f57..d57ed44 100644 (file)
@@ -20,7 +20,7 @@
     <title>Visualisation of a <classname>GstBin</classname> element with some elements in it</title>
       <mediaobject>  
         <imageobject>
-          <imagedata fileref="images/bin-element.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>
   </figure>
       <title>Visualisation of a <classname>GstBin</classname> element without ghost pads</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/bin-element-noghost.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element-noghost.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
       <title>Visualisation of a <classname>GstBin</classname> element with a ghost pad</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/bin-element-ghost.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/bin-element-ghost.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
index a43f5d9..4364e17 100644 (file)
@@ -34,7 +34,7 @@
         <title>Visualisation of a source element</title>
           <mediaobject>  
             <imageobject>
-              <imagedata fileref="images/src-element.&magic;" format="&MAGIC;" />
+              <imagedata fileref="images/src-element.&image;" format="&IMAGE;" />
             </imageobject>
           </mediaobject>
       </figure>
@@ -62,7 +62,7 @@
         <title>Visualisation of a filter element</title>
           <mediaobject>  
             <imageobject>
-              <imagedata fileref="images/filter-element.&magic;" format="&MAGIC;" />
+              <imagedata fileref="images/filter-element.&image;" format="&IMAGE;" />
             </imageobject>
           </mediaobject>
       </figure>
@@ -76,8 +76,8 @@
          more than one output pad</title>
         <mediaobject>  
           <imageobject>
-            <imagedata fileref="images/filter-element-multi.&magic;" 
-                       format="&MAGIC;" />
+            <imagedata fileref="images/filter-element-multi.&image;" 
+                       format="&IMAGE;" />
           </imageobject>
         </mediaobject>
       </figure>
         <title>Visualisation of a sink element</title>
         <mediaobject>  
           <imageobject>
-            <imagedata fileref="images/sink-element.&magic;" format="&MAGIC;" />
+            <imagedata fileref="images/sink-element.&image;" format="&IMAGE;" />
           </imageobject>
         </mediaobject>
       </figure>
index 91b1298..19dae27 100644 (file)
@@ -89,7 +89,7 @@
       <title>The Hello world pipeline with MIME types</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/mime-world.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/mime-world.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
 
index 14dcd6c..4f12d5a 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY % magic-entities SYSTEM "magic">
-%magic-entities;
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % image-entities SYSTEM "image.entities">
+%image-entities;
 
 <!ENTITY INTRO SYSTEM "intro.xml">
 <!ENTITY MOTIVATION SYSTEM "motivation.xml">
index 002894d..011ae90 100644 (file)
@@ -181,7 +181,7 @@ main (int argc, char *argv[])
       <title>The Hello world pipeline</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/hello-world.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/hello-world.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
 
index bdb27c0..85d2c21 100644 (file)
@@ -9,7 +9,7 @@
     <title>Visualisation of three linked elements</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/linked-elements.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/linked-elements.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>
   </figure>
diff --git a/docs/manual/magic-pdf b/docs/manual/magic-pdf
deleted file mode 100644 (file)
index 34af8f3..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY magic "pdf">
-<!ENTITY MAGIC "PDF">
diff --git a/docs/manual/magic-png b/docs/manual/magic-png
deleted file mode 100644 (file)
index 01cc248..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<!ENTITY magic "png">
-<!ENTITY MAGIC "PNG">
index cc6a7bd..1483603 100644 (file)
@@ -26,7 +26,7 @@
     <title>a two-threaded decoder with a queue</title>
     <mediaobject>
       <imageobject>
-        <imagedata fileref="images/queue.&magic;" format="&MAGIC;" />
+        <imagedata fileref="images/queue.&image;" format="&IMAGE;" />
       </imageobject>
     </mediaobject>  
   </figure>
index 3f43a38..17d3e5b 100644 (file)
@@ -69,7 +69,7 @@
       <title>A thread</title>
       <mediaobject>
         <imageobject>
-          <imagedata fileref="images/thread.&magic;" format="&MAGIC;" />
+          <imagedata fileref="images/thread.&image;" format="&IMAGE;" />
         </imageobject>
       </mediaobject>  
     </figure>
index 387657c..7b5f9c2 100644 (file)
+# rewritten by Thomas to be more simple and working
 
-# taken from selfdocbookx, http://cyberelk.net/tim/docbook/selfdocbookx/index.html
+### These are all generic; we set all the variables we need
 
-# modified by andy wingo <apwingo@eos.ncsu.edu> 14 dec 2001 for use by gstreamer
-# and a little bit by thomas as well
+# intermediary build path
+BUILDDIR = build
+# same for images
+BUILDIMAGESDIR = $(BUILDDIR)/images
 
-all: html ps pdf
+# images
+# right now, we only allow .png and .fig as source
+# we might add more later if we feel the need
 
-check:
-       xmllint -noout -valid $(MAIN)
+# PNG's can be source or built from .fig
+PNG = $(strip $(PNG_SRC) $(FIG_SRC:.fig=.png))
+# EPS .ps files can be built from .png or .fig
+EPS = $(strip $(FIG_SRC:.fig=.ps) $(PNG_SRC:.png=.ps))
+# PDF .pdf files can be built from .png or .fig
+PDF = $(strip $(FIG_SRC:.fig=.pdf) $(PNG_SRC:.png=.pdf))
 
-if     HAVE_XSLTPROC
+# where we expect to find images during building, whether by copying
+# or by generating them
+PNG_BUILT = $(foreach file, $(PNG), $(BUILDIMAGESDIR)/$(file))
+EPS_BUILT = $(foreach file, $(EPS), $(BUILDIMAGESDIR)/$(file))
+PDF_BUILT = $(foreach file, $(PDF), $(BUILDIMAGESDIR)/$(file))
 
-if     HAVE_FIG2DEV_PNG
-html: $(DOC)
-else  #!HAVE_FIG2DEV_PNG
-html:
-endif #!HAVE_FIG2DEV_PNG
+# everything considered source
+SRC = $(XML) $(PNG_SRC) $(FIG_SRC) $(CSS)
 
-if     HAVE_FIG2DEV_PDF
-if     HAVE_PDFXMLTEX
-pdf: $(DOC).pdf
+# generate A4 docs
+PAPER_LOCALE = nl_NL
 
-if     HAVE_PDFTOPS
-ps: $(DOC).ps
-else  #!HAVE_PDFTOPS
-ps:
-endif #!HAVE_PDFTOPS
+### generate all documentation by default
+all: html ps pdf
 
-else  #!HAVE_PDFXMLTEX
-pdf:
-ps:
-endif #!HAVE_PDFXMLTEX
+# can we generate HTML ?
+if     DOC_HTML
+HTML_DAT = html
+html: html/index.html
+else  #!DOC_HTML
+HTML_DAT =
+html:
+endif #DOC_HTML
 
-else  #!HAVE_FIG2DEV_PDF
-pdf:
+# can we generate PS ?
+if     DOC_PS
+PS_DAT = $(DOC).ps
+ps: $(DOC).ps
+else  #!DOC_PS
+PS_DAT =
 ps:
-endif #!HAVE_FIG2DEV_PDF
+endif #DOC_PS
 
-else  #!HAVE_XSLTPROC
-html:
-ps:
+# can we generate PDF ?
+if     DOC_PDF
+PDF_DAT = $(DOC).pdf
+pdf: $(DOC).pdf
+else  #!DOC_PDF
+PDF_DAT =
 pdf:
-endif #!HAVE_XSLTPROC
-
-#$(DOC).fo: $(XML) $(PDFS) $(XSLFO) $(XSLFOMODS)
-#      cp magic-pdf magic
-#      xsltproc $(XSLTPROC_OPTIONS) $(XSLFO) $(MAIN) > $@-t
-#      mv -f $@-t $@
-#
-#$(DOC).pdf: $(DOC).fo
-#      pdfxmltex $< || true
-#      pdfxmltex $< || true
-#
-#$(DOC).ps: $(DOC).pdf
-#      pdftops $< $@
-
-# thomasvs: use db2 because it seems a lot better
-# this ought to be checked for in configure, and the old stuff removed
-$(DOC).pdf: $(DOC).xml
-       db2pdf $(DOC).xml
-
-$(DOC).ps: $(DOC).xml
-       db2ps $(DOC).xml
-
-$(DOC): $(XML) $(PNGS) $(XSLHTML) $(XSLHTMLMODS)
-       -$(RM) *.html
-       -$(RM) -r $@
-       mkdir $@
-       cp magic-png magic
-       xsltproc $(XSLTPROC_OPTIONS) $(XSLHTML) $(MAIN)
-       mv *.html $@
-       cp $(CSS) $@
-       test "x$(PNGS)" != "x" && mkdir $@/images && cp $(PNGS) $@/images || true
-
-builddate:
-       echo -n $$(date "+%e %B %Y") > $@
+endif #DOC_PDF
+
+debug:
+       @echo "outputting some useful debug information"
+       @echo "Source XML:"
+       @echo "XML: '$(XML)'"
+       @echo "CSS: '$(CSS)'"
+       @echo "Source image files:"
+       @echo "PNG_SRC: '$(PNG_SRC)'"
+       @echo "FIG_SRC: '$(FIG_SRC)'"
+       @echo "All used image files:"
+       @echo "PNG: '$(PNG)'"
+       @echo "EPS: '$(EPS)'"
+       @echo "PDF: '$(PDF)'"
+       @echo "All used image files in their built path:"
+       @echo "PNG_BUILT: '$(PNG_BUILT)'"
+       @echo "EPS_BUILT: '$(EPS_BUILT)'"
+       @echo "PDF_BUILT: '$(PDF_BUILT)'"
+       @echo "End result products:"
+       @echo "HTML_DAT: '$(HTML_DAT)'"
+       @echo "PS_DAT:   '$(PS_DAT)'"
+       @echo "PDF_DAT:  '$(PDF_DAT)'"
+
+# a rule to copy all of the source for docs into $(builddir)/build
+$(BUILDDIR)/$(MAIN): $(XML) $(CSS)
+       @-mkdir -p $(BUILDDIR)
+       @for a in $(XML); do cp $(srcdir)/$$a $(BUILDDIR); done
+       @for a in $(CSS); do cp $(srcdir)/$$a $(BUILDDIR); done
+
+html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
+       @echo "*** Generating HTML output ***"
+       @-mkdir -p html
+       @cp $(srcdir)/../image-png $(BUILDDIR)/image.entities
+       @cd $(BUILDDIR) && xmlto html -o ../html $(MAIN)
+       @test "x$(CSS)" != "x" && \
+          echo "Copying .css files: $(CSS)" && \
+          cp $(srcdir)/$(CSS) html
+       @test "x$(PNG)" != "x" && \
+          echo "Copying .png images: $(PNG_BUILT)" && \
+         mkdir -p html/images && \
+          cp $(PNG_BUILT) html/images || true
+
+$(DOC).ps: $(BUILDDIR)/$(MAIN) $(EPS_BUILT) $(PNG_SRC) $(FIG_SRC)
+       @echo "*** Generating PS output ***"
+       @cp $(srcdir)/../image-eps $(BUILDDIR)/image.entities
+       export LC_PAPER=$(PAPER_LOCALE) && cd $(BUILDDIR) && xmlto ps -o .. $(MAIN)
+
+$(DOC).pdf: $(DOC).ps
+       @echo "*** Generating PDF output ***"
+       @ps2pdf $(DOC).ps
+
+#$(DOC).pdf: $(MAIN) $(PDF) $(FIG_SRC)
+#      @echo "*** Generating PDF output ***"
+#      @cp $(srcdir)/../image-pdf image.entities
+#      @export LC_PAPER=$(PAPER_LOCALE) && xmlto pdf $(MAIN)
+#      @rm image.entities
 
 clean:
-       -$(RM) -f *.log *.dvi *.aux *.tex *.out *-t
-       -$(RM) -f $(PNGS) $(PDFS) builddate *.html
-       -$(RM) -rf $(DOC) $(DOC).ps $(DOC).pdf $(DOC).fo
-       -$(RM) -f magic
-
-distclean: clean
-       -$(RM) -f *~ $(DOC).tar.gz docbook.tar.gz
-#      -$(RM) -r docbook
-
-$(DOC).tar.gz: distclean
-       (cd ..; tar zcf /tmp/$(DOC).tar.gz $(DOC) )
-       mv /tmp/$(DOC).tar.gz .
-
-#docbook: $(DOC).tar.gz all
-#      -$(RM) -r $@
-#      mkdir $@
-#      cp $(DOC).tar.gz $(DOC).ps $(DOC).pdf $@
-#      tar cf - $(DOC) | (cd $@; tar xf -)
-
-#docbook.tar.gz: docbook
-#      tar zcf docbook.tar.gz docbook
-
-# Make png from xfig
-%.png: %.fig
-       fig2dev -Lpng $< $@
-
-# Make pdf from xfig
-%.pdf: %.fig
-       fig2dev -Lpdf $< images/$@
-
-.PHONY: distclean clean all builddate
+       -$(RM) -r $(BUILDDIR)
+       -$(RM) -r html
+       -$(RM) $(DOC).ps
+       -$(RM) $(DOC).pdf
+       -$(RM) -r www
+
+### image generation
+
+# copy png from source dir png
+$(BUILDIMAGESDIR)/%.png: $(srcdir)/%.png
+       @echo "Copying $< to $@"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @cp $< $@
+# make png from fig
+$(BUILDIMAGESDIR)/%.png: %.fig
+       @echo "Generating $@ from $<"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @fig2dev -Lpng $< $@
+
+# make ps(EPS) from fig
+$(BUILDIMAGESDIR)/%.ps: %.fig
+       @echo "Generating $@ from $<"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @fig2dev -Leps $< $@
+
+# make pdf from fig
+$(BUILDIMAGESDIR)/%.pdf: %.fig
+       @echo "Generating $@ from $<"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @fig2dev -Lpdf $< $@
+
+# make pdf from png
+$(BUILDIMAGESDIR)/%.pdf: %.png
+       @echo "Generating $@ from $<"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @cat $< | pngtopnm | pnmtops -noturn 2> /dev/null | epstopdf --filter --outfile $@ 2> /dev/null
+
+# make ps(EPS) from png
+$(BUILDIMAGESDIR)/%.ps: %.png
+       @echo "Generating $@ from $<"
+       @mkdir -p $(BUILDIMAGESDIR)
+       @cat $< | pngtopnm | pnmtops -noturn > $@ 2> /dev/null
+
+# make sure xml validates properly
+check-local:
+       xmllint -noout -valid $(MAIN)
index 72a07dc..adf3ae0 100644 (file)
@@ -1,18 +1,32 @@
-DOC=gst-plugin-writers-guide
-MAIN=$(DOC).xml
-XML=$(wildcard *.xml)
-XSLFO=$(srcdir)/../xsl/fo.xsl
-XSLFOMODS=$(srcdir)/../xsl/ulink.xsl $(srcdir)/../xsl/keycombo.xsl
-XSLHTML=$(srcdir)/../xsl/html.xsl
-XSLHTMLMODS=$(srcdir)/../xsl/fileext.xsl $(srcdir)/../xsl/admon.xsl \
-       $(srcdir)/../xsl/keycombo.xsl $(srcdir)/../xsl/css.xsl
-XSLS=$(XSLFO) $(XSLFOMODS) $(XSLHTML) $(XSLHTMLMODS)
-FIGS= # $(wildcard *.fig) (uncomment when pngs are added)
-PNGS=$(FIGS:.fig=.png)
-PDFS=$(FIGS:.fig=.pdf)
-SRC=$(XML)
-CSS=base.css
+### this is the part you can customize if you need to
 
-EXTRA_DIST = $(XML) $(FIGS) $(CSS) magic-png magic-pdf
+# base name of doc
+DOC = gst-plugin-writers-guide
 
+# main xml file
+MAIN = $(DOC).xml
+# all xml sources
+XML = $(notdir $(wildcard $(srcdir)/*.xml))
+# base style sheet
+CSS = base.css
+
+# image sources
+PNG_SRC = 
+FIG_SRC = $(notdir $(wildcard $(srcdir)/*.fig))
+
+### this is the generic bit and you shouln't need to change this
+
+# get the generic docbuilding Makefile stuff
 include $(srcdir)/../manuals.mak
+
+### this is standard automake stuff
+                                                                                
+# package up all the source
+EXTRA_DIST = $(SRC)
+                                                                                
+# install documentation
+docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)/$(DOC)
+doc_DATA = $(PDF_DAT) $(PS_DAT)
+                                                                                
+include $(srcdir)/../htmlinstall.mak
+
index 66bcfef..c60f1d8 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version='1.0'?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-                  "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY % magic-entities SYSTEM "magic">
-%magic-entities;
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+                  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+<!ENTITY % image-entities SYSTEM "image.entities">
+%image-entities;
 
 <!ENTITY TITLEPAGE            SYSTEM "titlepage.xml">
 
diff --git a/docs/pwg/magic-pdf b/docs/pwg/magic-pdf
deleted file mode 100644 (file)
index abc274e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!ENTITY magic "pdf">
diff --git a/docs/pwg/magic-png b/docs/pwg/magic-png
deleted file mode 100644 (file)
index 6941e28..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<!ENTITY magic "png">