mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 02:01:12 +00:00
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:
parent
cf22a00363
commit
75ac013312
5 changed files with 181 additions and 88 deletions
|
@ -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
|
||||
|
|
13
docs/fwg/Makefile.am
Normal file
13
docs/fwg/Makefile.am
Normal 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
|
||||
|
69
docs/fwg/gst-filter-writers-guide.sgml
Normal file
69
docs/fwg/gst-filter-writers-guide.sgml
Normal 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>
|
|
@ -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
|
||||
|
||||
|
|
96
docs/manuals.mak
Normal file
96
docs/manuals.mak
Normal 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
|
||||
|
Loading…
Reference in a new issue