Added framework for writing filter writers guide.
authorRichard Boulton <richard@tartarus.org>
Sat, 30 Dec 2000 15:36:24 +0000 (15:36 +0000)
committerRichard Boulton <richard@tartarus.org>
Sat, 30 Dec 2000 15:36:24 +0000 (15:36 +0000)
Original commit message from CVS:
Added framework for writing filter writers guide.
Extracted much of the makefile from docs/manual into a shared file which
is included, so it can be re-used.

docs/Makefile.am
docs/fwg/Makefile.am [new file with mode: 0644]
docs/fwg/gst-filter-writers-guide.sgml [new file with mode: 0644]
docs/manual/Makefile.am
docs/manuals.mak [new file with mode: 0644]

index fbe0b50..3081622 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = manual
+SUBDIRS = manual fwg
 
 if HAVE_GTK_DOC
   SUBDIRS += gst libs 
@@ -6,4 +6,4 @@ endif
 
 DIST_SUBDIRS = gst manual libs
 
-EXTRA_DIST = random slides
+EXTRA_DIST = random slides manuals.mak
diff --git a/docs/fwg/Makefile.am b/docs/fwg/Makefile.am
new file mode 100644 (file)
index 0000000..eaedbef
--- /dev/null
@@ -0,0 +1,13 @@
+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
+
diff --git a/docs/fwg/gst-filter-writers-guide.sgml b/docs/fwg/gst-filter-writers-guide.sgml
new file mode 100644 (file)
index 0000000..aa418e3
--- /dev/null
@@ -0,0 +1,69 @@
+<!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>
index b8a17f2..c8348e8 100644 (file)
@@ -65,90 +65,5 @@ png_files =  images/bin-element.png \
 
 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
 
diff --git a/docs/manuals.mak b/docs/manuals.mak
new file mode 100644 (file)
index 0000000..05a371c
--- /dev/null
@@ -0,0 +1,96 @@
+# 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
+