diff --git a/docs/Makefile.am b/docs/Makefile.am index fbe0b50847..3081622048 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -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 index 0000000000..eaedbefef7 --- /dev/null +++ b/docs/fwg/Makefile.am @@ -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 index 0000000000..aa418e3544 --- /dev/null +++ b/docs/fwg/gst-filter-writers-guide.sgml @@ -0,0 +1,69 @@ + + +]> + + + + + + + Richard + Boulton + + + richard-gst@tartarus.org + + + + + + + + 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 http://www.opencontent.org/openpub/ ) + + + + <application>GStreamer</application> Filter Writer's Guide + + + + + + Overview + + + This book describes how to extend the capabilities of + GStreamer by creating a new filter. The + reader should be familiar with the basic workings of + GStreamer. For a gentle introduction to + GStreamer, you may wish to read the FIXME Since + GStreamer adheres to the GTK+ programming + model, the reader is also assumed to understand the basics of GTK+. + + + + + &INTRO; + + + + + Basic concepts + + + We will first describe the concepts it is neccessary to understand + before building a filter. + + + + + &CHAINVSLOOP; + + + + diff --git a/docs/manual/Makefile.am b/docs/manual/Makefile.am index b8a17f27f6..c8348e856c 100644 --- a/docs/manual/Makefile.am +++ b/docs/manual/Makefile.am @@ -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 index 0000000000..05a371c16a --- /dev/null +++ b/docs/manuals.mak @@ -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 +