-SUBDIRS = manual
+SUBDIRS = manual fwg
if HAVE_GTK_DOC
SUBDIRS += gst libs
DIST_SUBDIRS = gst manual libs
-EXTRA_DIST = random slides
+EXTRA_DIST = random slides manuals.mak
--- /dev/null
+manualname = gst-filter-writers-guide
+htmlname = index.html
+
+sgml_files = gst-filter-writers-guide.sgml
+
+fig_files =
+eps_files =
+png_files =
+
+EXTRA_DIST = $(sgml_files) $(fig_files)
+
+include $(srcdir)/../manuals.mak
+
--- /dev/null
+<!DOCTYPE book PUBLIC "-//GNOME//DTD DocBook PNG Variant V1.0//EN" "" [
+<!ENTITY INTRO SYSTEM "intro.sgml">
+<!ENTITY CHAINVSLOOP SYSTEM "chainvsloop.sgml">
+]>
+
+<book id="index">
+ <bookinfo>
+
+ <authorgroup>
+ <author>
+ <firstname>Richard</firstname>
+ <surname>Boulton</surname>
+ <authorblurb>
+ <para>
+ <email>richard-gst@tartarus.org</email>
+ </para>
+ </authorblurb>
+ </author>
+ </authorgroup>
+
+ <legalnotice>
+ <para>
+ This material may be distributed only subject to the terms and
+ conditions set forth in the Open Publication License, v1.0 or later (the
+ latest version is presently available at <ulink url="
+ http://www.opencontent.org/openpub/"
+ type="http">http://www.opencontent.org/openpub/</ulink> )
+ </para>
+ </legalnotice>
+
+ <title><application>GStreamer</application> Filter Writer's Guide</title>
+
+ </bookinfo>
+
+<!-- ############# Overview - part ############### -->
+
+ <part id="overview"><title>Overview</title>
+ <partintro>
+ <para>
+ This book describes how to extend the capabilities of
+ <application>GStreamer</application> by creating a new filter. The
+ reader should be familiar with the basic workings of
+ <application>GStreamer</application>. For a gentle introduction to
+ GStreamer, you may wish to read the <emphasis>FIXME</emphasis> Since
+ <application>GStreamer</application> adheres to the GTK+ programming
+ model, the reader is also assumed to understand the basics of GTK+.
+ </para>
+ </partintro>
+
+<!-- ############ Introduction - chapter ############# -->
+ &INTRO;
+ </part>
+
+<!-- ############ Basic concepts - part ############# -->
+
+ <part id="basic-concepts"><title>Basic concepts</title>
+ <partintro>
+ <para>
+ We will first describe the concepts it is neccessary to understand
+ before building a filter.
+ </para>
+ </partintro>
+
+<!-- ############ Basic concepts - chapter ############# -->
+ &CHAINVSLOOP;
+ </part>
+
+<!-- ############ Building A Filter - part ############# -->
+</book>
EXTRA_DIST = $(sgml_files) $(fig_files)
-PDFFILES=$(manualname).pdf
-PSFILES=$(manualname).ps
-
-$(manualname)/$(htmlname): $(sgml_files) $(png_files)
- db2html $(manualname).sgml
-
-$(manualname).pdf: $(manualname).ps
- ps2pdf $< $@
-
-$(manualname).ps: $(sgml_files) $(eps_files)
- db2ps $(manualname).sgml
-
-images :
- mkdir images
-
-images/%.png : %.fig images
- fig2dev -L png -s 16 $< $@
-
-images/%.eps : %.fig images
- fig2dev -L eps -s 16 -m 0.5 $< $@
-
-$(manualname)/images:
- ln -s ../images $(manualname)/images
-
-htmldocs: $(manualname)/$(htmlname) $(manualname)/images
-htmldist: htmldocs
- @if [ -r $(manualname)/$(htmlname) ] ; then \
- echo "Adding $(manualname)/$(htmlname) to distribution" ; \
- $(mkinstalldirs) $(distdir)/$(manualname) ; \
- cp -a $(manualname)/*.html $(distdir)/$(manualname)/ ; \
- else \
- echo "Skipping $(manualname)/$(htmlname) from distribution: can't build" ; \
- fi
-
-pdfdocs: $(PDFFILES)
-pdfdist: pdfdocs
- @for a in $(PDFFILES) ; do \
- if [ -r $$a ] ; then \
- echo "Adding $$a to distribution" ; \
- cp -a $$a $(distdir)/ ; \
- else \
- echo "Skipping $$a from distribution: can't build" ; \
- fi \
- done
-
-psdocs: $(PSFILES)
-psdist: psdocs
- @for a in $(PSFILES) ; do \
- if [ -r $$a ] ; then \
- echo "Adding $$a to distribution" ; \
- cp -a $$a $(distdir)/ ; \
- else \
- echo "Skipping $$a from distribution: can't build" ; \
- fi \
- done
-
-# Data to install, in the usual automake way
-docdatadir = $(datadir)/gstreamer
-docdata_DATA = $(PDFFILES) $(PSFILES)
-pngdatadir = $(datadir)/gstreamer/gstreamer-manual/images
-pngdata_DATA = $(png_files)
-
-htmlinst:
- @if [ -r $(manualname)/$(htmlname) ] ; then \
- echo "Installing $(manualname)/*.html" ; \
- $(mkinstalldirs) $(DESTDIR)$(docdatadir)/$(manualname) ; \
- $(INSTALL_DATA) $(manualname)/*.html $(DESTDIR)$(docdatadir)/$(manualname) ; \
- else \
- if [ -r $(srcdir)/$(manualname)/$(htmlname) ] ; then \
- echo "Installing $(srcdir)/$(manualname)/*.html" ; \
- $(mkinstalldirs) $(DESTDIR)$(docdatadir)/$(manualname) ; \
- $(INSTALL_DATA) $(srcdir)/$(manualname)/*.html $(DESTDIR)$(docdatadir)/$(manualname) ; \
- else \
- echo "NOT installing HTML documentation: not present, and can't generate" ; \
- fi \
- fi
-
-htmluninst:
- $(RM) -rf $(DESTDIR)$(docdatadir)/$(manualname)
-
-all-local: htmldocs pdfdocs psdocs
-clean-local:
- $(RM) -rf $(manualname)/ images/*.eps images/*.png *.eps *.png *.ps *.pdf *.aux *.dvi *.log *.tex
-dist-hook: htmldist pdfdist psdist
-install-data-local: htmlinst
-uninstall-local: htmluninst
+include $(srcdir)/../manuals.mak
--- /dev/null
+# Included by directories containing manuals.
+# Expects the following to be defined:
+# manualname
+# htmlname
+# sgml_files
+# fig_files
+# eps_files
+# png_files
+
+PDFFILES=$(manualname).pdf
+PSFILES=$(manualname).ps
+
+$(manualname)/$(htmlname): $(sgml_files) $(png_files)
+ db2html $(manualname).sgml
+
+$(manualname).pdf: $(manualname).ps
+ ps2pdf $< $@
+
+$(manualname).ps: $(sgml_files) $(eps_files)
+ db2ps $(manualname).sgml
+
+images :
+ mkdir images
+
+images/%.png : %.fig images
+ fig2dev -L png -s 16 $< $@
+
+images/%.eps : %.fig images
+ fig2dev -L eps -s 16 -m 0.5 $< $@
+
+$(manualname)/images:
+ @ln -sf ../images $(manualname)/images
+
+htmldocs: $(manualname)/$(htmlname) $(manualname)/images
+htmldist: htmldocs
+ @if [ -r $(manualname)/$(htmlname) ] ; then \
+ echo "Adding $(manualname)/$(htmlname) to distribution" ; \
+ $(mkinstalldirs) $(distdir)/$(manualname) ; \
+ cp -a $(manualname)/*.html $(distdir)/$(manualname)/ ; \
+ else \
+ echo "Skipping $(manualname)/$(htmlname) from distribution: can't build" ; \
+ fi
+
+pdfdocs: $(PDFFILES)
+pdfdist: pdfdocs
+ @for a in $(PDFFILES) ; do \
+ if [ -r $$a ] ; then \
+ echo "Adding $$a to distribution" ; \
+ cp -a $$a $(distdir)/ ; \
+ else \
+ echo "Skipping $$a from distribution: can't build" ; \
+ fi \
+ done
+
+psdocs: $(PSFILES)
+psdist: psdocs
+ @for a in $(PSFILES) ; do \
+ if [ -r $$a ] ; then \
+ echo "Adding $$a to distribution" ; \
+ cp -a $$a $(distdir)/ ; \
+ else \
+ echo "Skipping $$a from distribution: can't build" ; \
+ fi \
+ done
+
+# Data to install, in the usual automake way
+docdatadir = $(datadir)/gstreamer
+docdata_DATA = $(PDFFILES) $(PSFILES)
+pngdatadir = $(datadir)/gstreamer/gstreamer-manual/images
+pngdata_DATA = $(png_files)
+
+htmlinst:
+ @if [ -r $(manualname)/$(htmlname) ] ; then \
+ echo "Installing $(manualname)/*.html" ; \
+ $(mkinstalldirs) $(DESTDIR)$(docdatadir)/$(manualname) ; \
+ $(INSTALL_DATA) $(manualname)/*.html $(DESTDIR)$(docdatadir)/$(manualname) ; \
+ else \
+ if [ -r $(srcdir)/$(manualname)/$(htmlname) ] ; then \
+ echo "Installing $(srcdir)/$(manualname)/*.html" ; \
+ $(mkinstalldirs) $(DESTDIR)$(docdatadir)/$(manualname) ; \
+ $(INSTALL_DATA) $(srcdir)/$(manualname)/*.html $(DESTDIR)$(docdatadir)/$(manualname) ; \
+ else \
+ echo "NOT installing HTML documentation: not present, and can't generate" ; \
+ fi \
+ fi
+
+htmluninst:
+ $(RM) -rf $(DESTDIR)$(docdatadir)/$(manualname)
+
+all-local: htmldocs pdfdocs psdocs
+clean-local:
+ $(RM) -rf $(manualname)/ $(manualname).junk/ images/*.eps images/*.png *.eps *.png *.ps *.pdf *.aux *.dvi *.log *.tex DBTOHTML_OUTPUT_DIR*
+dist-hook: htmldist pdfdist psdist
+install-data-local: htmlinst
+uninstall-local: htmluninst
+