Added framework for writing filter writers guide.

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.
This commit is contained in:
Richard Boulton 2000-12-30 15:36:24 +00:00
parent cf22a00363
commit 75ac013312
5 changed files with 181 additions and 88 deletions

View file

@ -1,4 +1,4 @@
SUBDIRS = manual SUBDIRS = manual fwg
if HAVE_GTK_DOC if HAVE_GTK_DOC
SUBDIRS += gst libs SUBDIRS += gst libs
@ -6,4 +6,4 @@ endif
DIST_SUBDIRS = gst manual libs DIST_SUBDIRS = gst manual libs
EXTRA_DIST = random slides EXTRA_DIST = random slides manuals.mak

13
docs/fwg/Makefile.am Normal file
View file

@ -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

View file

@ -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>

View file

@ -65,90 +65,5 @@ png_files = images/bin-element.png \
EXTRA_DIST = $(sgml_files) $(fig_files) EXTRA_DIST = $(sgml_files) $(fig_files)
PDFFILES=$(manualname).pdf include $(srcdir)/../manuals.mak
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

96
docs/manuals.mak Normal file
View file

@ -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