-Subproject commit b7abb510aa14e8692df39ea8c2c758e37d8a8d8a
+Subproject commit 3f46e8a51c6020d29bafdbf9366115deb4cad02d
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
-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
+
<?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">
+++ /dev/null
-<!ENTITY magic "pdf">
+++ /dev/null
-<!ENTITY magic "png">
--- /dev/null
+# 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)
--- /dev/null
+<!ENTITY image "ps">
+<!ENTITY IMAGE "EPS">
--- /dev/null
+<!ENTITY image "pdf">
+<!ENTITY IMAGE "EPS">
--- /dev/null
+<!ENTITY image "png">
+<!ENTITY IMAGE "PNG">
-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
<title>The Hello world pipeline with MIME types</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/mime-world.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/mime-world.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
<title>A thread</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/thread.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/thread.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<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.ℑ" 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.ℑ" 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.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>Visualisation of a source element</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/src-element.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/src-element.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>Visualisation of a filter element</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/filter-element.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/filter-element.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
more than one output pad</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/filter-element-multi.&magic;"
- format="&MAGIC;" />
+ <imagedata fileref="images/filter-element-multi.ℑ"
+ 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.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>The Hello world pipeline</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/hello-world.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/hello-world.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
<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.ℑ" 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.ℑ" 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.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>Visualisation of a source element</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/src-element.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/src-element.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>Visualisation of a filter element</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/filter-element.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/filter-element.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
more than one output pad</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/filter-element-multi.&magic;"
- format="&MAGIC;" />
+ <imagedata fileref="images/filter-element-multi.ℑ"
+ 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.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>The Hello world pipeline with MIME types</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/mime-world.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/mime-world.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
<?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">
<title>The Hello world pipeline</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/hello-world.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/hello-world.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
<title>Visualisation of three linked elements</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/linked-elements.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/linked-elements.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
+++ /dev/null
-<!ENTITY magic "pdf">
-<!ENTITY MAGIC "PDF">
+++ /dev/null
-<!ENTITY magic "png">
-<!ENTITY MAGIC "PNG">
<title>a two-threaded decoder with a queue</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/queue.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/queue.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
<title>A thread</title>
<mediaobject>
<imageobject>
- <imagedata fileref="images/thread.&magic;" format="&MAGIC;" />
+ <imagedata fileref="images/thread.ℑ" format="&IMAGE;" />
</imageobject>
</mediaobject>
</figure>
+# 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)
-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
+
<?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">
+++ /dev/null
-<!ENTITY magic "pdf">
+++ /dev/null
-<!ENTITY magic "png">