diff --git a/common b/common
index b7abb510aa..3f46e8a51c 160000
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit b7abb510aa14e8692df39ea8c2c758e37d8a8d8a
+Subproject commit 3f46e8a51c6020d29bafdbf9366115deb4cad02d
diff --git a/docs/Makefile.am b/docs/Makefile.am
index f6d66a567e..8c6e4e63c7 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -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
diff --git a/docs/faq/Makefile.am b/docs/faq/Makefile.am
index ea06c14609..c9b3a03dc0 100644
--- a/docs/faq/Makefile.am
+++ b/docs/faq/Makefile.am
@@ -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
+### this is the part you can customize if you need to
-EXTRA_DIST = $(XML) $(CSS) magic-png magic-pdf
+# 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
-# target for building the faq dir to be put on the website and rsync-ing it
-www: www-faq
- export RSYNC_RSH=ssh
- cd www-faq && rsync -arv * thomasvs@shell.sf.net:/home/groups/g/gs/gstreamer/htdocs/docs/faq/
+### 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
-www-faq: gstreamer-faq
- mkdir -p www-faq
- cp gstreamer-faq/base.css www-faq
- cd gstreamer-faq && for a in *.html; do \
+### these are website updating targets
+# target for building the faq dir to be put on the website and rsync-ing it
+upload: www
+ export RSYNC_RSH=ssh
+ cd www && rsync -arv * thomasvs@shell.sf.net:/home/groups/g/gs/gstreamer/htdocs/docs/faq/
+
+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@^.*\
@' $$a; \
perl -i -p -e's@^.*\@' $$a; \
perl -i -p -e's@^.*\ /dev/null
+
diff --git a/docs/faq/gstreamer-faq.xml b/docs/faq/gstreamer-faq.xml
index caa9ca745a..36dfa5e129 100644
--- a/docs/faq/gstreamer-faq.xml
+++ b/docs/faq/gstreamer-faq.xml
@@ -1,6 +1,9 @@
-
+%image-entities;
diff --git a/docs/faq/magic-pdf b/docs/faq/magic-pdf
deleted file mode 100644
index abc274e270..0000000000
--- a/docs/faq/magic-pdf
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/faq/magic-png b/docs/faq/magic-png
deleted file mode 100644
index 6941e28950..0000000000
--- a/docs/faq/magic-png
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/htmlinstall.mak b/docs/htmlinstall.mak
new file mode 100644
index 0000000000..fafd23bb1f
--- /dev/null
+++ b/docs/htmlinstall.mak
@@ -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
index 0000000000..72c8e04649
--- /dev/null
+++ b/docs/image-eps
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/image-pdf b/docs/image-pdf
new file mode 100644
index 0000000000..0a2da4d932
--- /dev/null
+++ b/docs/image-pdf
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/image-png b/docs/image-png
new file mode 100644
index 0000000000..ab8943e1bc
--- /dev/null
+++ b/docs/image-png
@@ -0,0 +1,2 @@
+
+
diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am
index 80bfc1c1f6..9ab655a808 100644
--- a/docs/manual/Makefile.am
+++ b/docs/manual/Makefile.am
@@ -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
+### 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 = 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
diff --git a/docs/manual/advanced-autoplugging.xml b/docs/manual/advanced-autoplugging.xml
index 91b1298c7a..19dae27ed1 100644
--- a/docs/manual/advanced-autoplugging.xml
+++ b/docs/manual/advanced-autoplugging.xml
@@ -89,7 +89,7 @@
The Hello world pipeline with MIME types
-
+
diff --git a/docs/manual/advanced-threads.xml b/docs/manual/advanced-threads.xml
index 3f43a38734..17d3e5b976 100644
--- a/docs/manual/advanced-threads.xml
+++ b/docs/manual/advanced-threads.xml
@@ -69,7 +69,7 @@
A thread
-
+
diff --git a/docs/manual/basics-bins.xml b/docs/manual/basics-bins.xml
index 9989f570d7..d57ed4451b 100644
--- a/docs/manual/basics-bins.xml
+++ b/docs/manual/basics-bins.xml
@@ -20,7 +20,7 @@
Visualisation of a GstBin element with some elements in it
-
+
@@ -187,7 +187,7 @@
Visualisation of a GstBin element without ghost pads
-
+
@@ -202,7 +202,7 @@
Visualisation of a GstBin element with a ghost pad
-
+
diff --git a/docs/manual/basics-elements.xml b/docs/manual/basics-elements.xml
index a43f5d9c7e..4364e1770d 100644
--- a/docs/manual/basics-elements.xml
+++ b/docs/manual/basics-elements.xml
@@ -34,7 +34,7 @@
Visualisation of a source element
-
+
@@ -62,7 +62,7 @@
Visualisation of a filter element
-
+
@@ -76,8 +76,8 @@
more than one output pad
-
+
@@ -102,7 +102,7 @@
Visualisation of a sink element
-
+
diff --git a/docs/manual/basics-helloworld.xml b/docs/manual/basics-helloworld.xml
index 002894d934..011ae900f7 100644
--- a/docs/manual/basics-helloworld.xml
+++ b/docs/manual/basics-helloworld.xml
@@ -181,7 +181,7 @@ main (int argc, char *argv[])
The Hello world pipeline
-
+
diff --git a/docs/manual/bins.xml b/docs/manual/bins.xml
index 9989f570d7..d57ed4451b 100644
--- a/docs/manual/bins.xml
+++ b/docs/manual/bins.xml
@@ -20,7 +20,7 @@
Visualisation of a GstBin element with some elements in it
-
+
@@ -187,7 +187,7 @@
Visualisation of a GstBin element without ghost pads
-
+
@@ -202,7 +202,7 @@
Visualisation of a GstBin element with a ghost pad
-
+
diff --git a/docs/manual/elements.xml b/docs/manual/elements.xml
index a43f5d9c7e..4364e1770d 100644
--- a/docs/manual/elements.xml
+++ b/docs/manual/elements.xml
@@ -34,7 +34,7 @@
Visualisation of a source element
-
+
@@ -62,7 +62,7 @@
Visualisation of a filter element
-
+
@@ -76,8 +76,8 @@
more than one output pad
-
+
@@ -102,7 +102,7 @@
Visualisation of a sink element
-
+
diff --git a/docs/manual/factories.xml b/docs/manual/factories.xml
index 91b1298c7a..19dae27ed1 100644
--- a/docs/manual/factories.xml
+++ b/docs/manual/factories.xml
@@ -89,7 +89,7 @@
The Hello world pipeline with MIME types
-
+
diff --git a/docs/manual/gstreamer-manual.xml b/docs/manual/gstreamer-manual.xml
index 14dcd6c715..4f12d5abf5 100644
--- a/docs/manual/gstreamer-manual.xml
+++ b/docs/manual/gstreamer-manual.xml
@@ -1,8 +1,8 @@
-
-%magic-entities;
+
+%image-entities;
diff --git a/docs/manual/helloworld.xml b/docs/manual/helloworld.xml
index 002894d934..011ae900f7 100644
--- a/docs/manual/helloworld.xml
+++ b/docs/manual/helloworld.xml
@@ -181,7 +181,7 @@ main (int argc, char *argv[])
The Hello world pipeline
-
+
diff --git a/docs/manual/links.xml b/docs/manual/links.xml
index bdb27c0f41..85d2c2193f 100644
--- a/docs/manual/links.xml
+++ b/docs/manual/links.xml
@@ -9,7 +9,7 @@
Visualisation of three linked elements
-
+
diff --git a/docs/manual/magic-pdf b/docs/manual/magic-pdf
deleted file mode 100644
index 34af8f3dfa..0000000000
--- a/docs/manual/magic-pdf
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/docs/manual/magic-png b/docs/manual/magic-png
deleted file mode 100644
index 01cc2484a3..0000000000
--- a/docs/manual/magic-png
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/docs/manual/queues.xml b/docs/manual/queues.xml
index cc6a7bd92f..148360346b 100644
--- a/docs/manual/queues.xml
+++ b/docs/manual/queues.xml
@@ -26,7 +26,7 @@
a two-threaded decoder with a queue
-
+
diff --git a/docs/manual/threads.xml b/docs/manual/threads.xml
index 3f43a38734..17d3e5b976 100644
--- a/docs/manual/threads.xml
+++ b/docs/manual/threads.xml
@@ -69,7 +69,7 @@
A thread
-
+
diff --git a/docs/manuals.mak b/docs/manuals.mak
index 387657c2b3..7b5f9c24c1 100644
--- a/docs/manuals.mak
+++ b/docs/manuals.mak
@@ -1,110 +1,164 @@
+# 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 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
+# images
+# right now, we only allow .png and .fig as source
+# we might add more later if we feel the need
+
+# 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))
+
+# 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))
+
+# everything considered source
+SRC = $(XML) $(PNG_SRC) $(FIG_SRC) $(CSS)
+
+# generate A4 docs
+PAPER_LOCALE = nl_NL
+
+### generate all documentation by default
all: html ps pdf
-check:
- xmllint -noout -valid $(MAIN)
-
-if HAVE_XSLTPROC
-
-if HAVE_FIG2DEV_PNG
-html: $(DOC)
-else #!HAVE_FIG2DEV_PNG
+# can we generate HTML ?
+if DOC_HTML
+HTML_DAT = html
+html: html/index.html
+else #!DOC_HTML
+HTML_DAT =
html:
-endif #!HAVE_FIG2DEV_PNG
+endif #DOC_HTML
-if HAVE_FIG2DEV_PDF
-if HAVE_PDFXMLTEX
-pdf: $(DOC).pdf
-
-if HAVE_PDFTOPS
+# can we generate PS ?
+if DOC_PS
+PS_DAT = $(DOC).ps
ps: $(DOC).ps
-else #!HAVE_PDFTOPS
+else #!DOC_PS
+PS_DAT =
ps:
-endif #!HAVE_PDFTOPS
+endif #DOC_PS
-else #!HAVE_PDFXMLTEX
+# can we generate PDF ?
+if DOC_PDF
+PDF_DAT = $(DOC).pdf
+pdf: $(DOC).pdf
+else #!DOC_PDF
+PDF_DAT =
pdf:
-ps:
-endif #!HAVE_PDFXMLTEX
+endif #DOC_PDF
-else #!HAVE_FIG2DEV_PDF
-pdf:
-ps:
-endif #!HAVE_FIG2DEV_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)'"
-else #!HAVE_XSLTPROC
-html:
-ps:
-pdf:
-endif #!HAVE_XSLTPROC
+# 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
-#$(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 $< $@
+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
-# 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: $(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).ps: $(DOC).xml
- db2ps $(DOC).xml
+$(DOC).pdf: $(DOC).ps
+ @echo "*** Generating PDF output ***"
+ @ps2pdf $(DOC).ps
-$(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") > $@
+#$(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
+ -$(RM) -r $(BUILDDIR)
+ -$(RM) -r html
+ -$(RM) $(DOC).ps
+ -$(RM) $(DOC).pdf
+ -$(RM) -r www
-distclean: clean
- -$(RM) -f *~ $(DOC).tar.gz docbook.tar.gz
-# -$(RM) -r docbook
+### image generation
-$(DOC).tar.gz: distclean
- (cd ..; tar zcf /tmp/$(DOC).tar.gz $(DOC) )
- mv /tmp/$(DOC).tar.gz .
+# 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 $< $@
-#docbook: $(DOC).tar.gz all
-# -$(RM) -r $@
-# mkdir $@
-# cp $(DOC).tar.gz $(DOC).ps $(DOC).pdf $@
-# tar cf - $(DOC) | (cd $@; tar xf -)
+# make ps(EPS) from fig
+$(BUILDIMAGESDIR)/%.ps: %.fig
+ @echo "Generating $@ from $<"
+ @mkdir -p $(BUILDIMAGESDIR)
+ @fig2dev -Leps $< $@
-#docbook.tar.gz: docbook
-# tar zcf docbook.tar.gz docbook
+# make pdf from fig
+$(BUILDIMAGESDIR)/%.pdf: %.fig
+ @echo "Generating $@ from $<"
+ @mkdir -p $(BUILDIMAGESDIR)
+ @fig2dev -Lpdf $< $@
-# Make png from xfig
-%.png: %.fig
- fig2dev -Lpng $< $@
+# 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 pdf from xfig
-%.pdf: %.fig
- fig2dev -Lpdf $< images/$@
+# make ps(EPS) from png
+$(BUILDIMAGESDIR)/%.ps: %.png
+ @echo "Generating $@ from $<"
+ @mkdir -p $(BUILDIMAGESDIR)
+ @cat $< | pngtopnm | pnmtops -noturn > $@ 2> /dev/null
-.PHONY: distclean clean all builddate
+# make sure xml validates properly
+check-local:
+ xmllint -noout -valid $(MAIN)
diff --git a/docs/pwg/Makefile.am b/docs/pwg/Makefile.am
index 72a07dc4c5..adf3ae00b6 100644
--- a/docs/pwg/Makefile.am
+++ b/docs/pwg/Makefile.am
@@ -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
+
diff --git a/docs/pwg/gst-plugin-writers-guide.xml b/docs/pwg/gst-plugin-writers-guide.xml
index 66bcfef99d..c60f1d824c 100644
--- a/docs/pwg/gst-plugin-writers-guide.xml
+++ b/docs/pwg/gst-plugin-writers-guide.xml
@@ -1,8 +1,8 @@
-
-%magic-entities;
+
+%image-entities;
diff --git a/docs/pwg/magic-pdf b/docs/pwg/magic-pdf
deleted file mode 100644
index abc274e270..0000000000
--- a/docs/pwg/magic-pdf
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/docs/pwg/magic-png b/docs/pwg/magic-png
deleted file mode 100644
index 6941e28950..0000000000
--- a/docs/pwg/magic-png
+++ /dev/null
@@ -1 +0,0 @@
-