SHELL=/bin/bash SGMLS = \ dvbapi.sgml \ intro.xml \ frontend.xml \ isdbt.xml \ demux.xml \ video.xml \ audio.xml \ ca.xml \ net.xml \ kdapi.xml \ examples.xml \ fdl-appendix.xml \ entities.xml \ PDFPICS = \ dvbstb.pdf \ GIFPICS = \ dvbstb.png \ # Some Jade warnings for authors. WARN = #WARN = -w all -w duplicate -w net # Stylesheet customization. # docbook/db2 syntax CUSTOM_HTML = --dsl custom.dsl\#html CUSTOM_PRINT = --dsl custom.dsl\#print # xmlto syntax CUSTOM_HTML_XMLTO = -m custom.xsl CUSTOM_PRINT_XMLTO = -m custom.xsl all: html-single html: html-build.stamp html-single: html-single-build.stamp pdf: pdf-build.stamp man: man-build.stamp man_install: man-build.stamp install -d /usr/local/man/man2 install -b man/* /usr/local/man/man2 .PHONY: links $(SGMLS): links $(PDFPICS): links $(GIFPICS): links links:: ln -sf ../../linux/Documentation/DocBook/dvb/* . ln -sf ../../linux/Documentation/DocBook/v4l/fdl-appendix.xml . entities.xml: Makefile $(SGMLS) echo "" >$@ echo -e "\n" >>$@ for file in $(SGMLS) ; do \ entity=`echo "$$file" | sed 's/.xml//;s/\./-/g'` ; \ if ! echo "$$file" | \ grep -q -E -e '^(func|vidioc|pixfmt)-' ; then \ echo "" >>$@ ; \ fi ; \ done # Jade can auto-generate a list-of-tables, which includes all structs, # but we only want data types, all types, and sorted please. indices.xml: Makefile $(SGMLS) echo "" >$@ echo -e "\nList of Types" >>$@ for ident in $(TYPES) ; do \ id=`echo $$ident | tr _ -` ; \ echo "$$ident" >>$@ ; \ done for ident in $(ENUMS) ; do \ echo "enum $$ident" >>$@ ; \ done for ident in $(STRUCTS) ; do \ id=`echo $$ident | tr _ -` ; \ echo "struct $$ident" >>$@ ; \ done echo "" >>$@ # HTML version. html-build.stamp: Makefile $(SGMLS) $(GIFPICS) rm -rf dvbapi if which xmlto >/dev/null ; then \ xmlto xhtml $(WARN) $(CUSTOM_HTML_XMLTO) -o dvbapi dvbapi.sgml ; \ elif which docbook2html >/dev/null ; then \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ docbook2html $(WARN) $$DCL $(CUSTOM_HTML) --output dvbapi dvbapi.sgml ; \ else \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ db2html $(WARN) $$DCL $(CUSTOM_HTML) --output dvbapi dvbapi.sgml ; \ fi cp $(GIFPICS) dvbapi/ cd dvbapi ; \ test -e index.html || ln -s book1.htm index.html ; \ test -e capture-example.html || \ ln -s `grep -l getopt_long *.htm` capture-example.html chmod a+rX -R dvbapi touch html-build.stamp # For online version. When you have a dial-up connection a single file # is more convenient than clicking through dozens of pages. html-single-build.stamp: Makefile $(SGMLS) $(GIFPICS) rm -rf dvbapi-single if which xmlto >/dev/null ; then \ xmlto html-nochunks $(WARN) $(CUSTOM_HTML_XMLTO) -o dvbapi-single dvbapi.sgml ; \ elif which docbook2html >/dev/null ; then \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ docbook2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ --output dvbapi-single dvbapi.sgml ; \ else \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ db2html $$DCL $(WARN) $(CUSTOM_HTML) --nochunks \ --output dvbapi-single dvbapi.sgml ; \ fi cp $(GIFPICS) dvbapi-single/ chmod a+rX -R dvbapi-single touch html-single-build.stamp # For printing. pdf-build.stamp: Makefile $(SGMLS) $(PDFPICS) if which db2pdf >/dev/null ; then \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl|head -1`"; \ db2pdf $$DCL $(WARN) $(CUSTOM_PRINT) dvbapi.sgml ; \ elif which xmlto >/dev/null ; then \ xmlto pdf $(WARN) $(CUSTOM_HTML_XMLTO) -o dvbapi-single dvbapi.sgml ; \ else \ export DCL="--dcl `find /usr/share/sgml -name xml.dcl |head -1`"; \ docbook2pdf $$DCL $(WARN) $(CUSTOM_PRINT) dvbapi.sgml ; \ fi touch pdf-build.stamp # For man man-build.stamp: Makefile $(SGMLS) $(PDFPICS) xmlto man $(WARN) $(CUSTOM_HTML_XMLTO) -o man dvbapi.sgml distclean clean: rm -f *.stamp rm -f indices.xml entities.xml find . -type l -exec rm '{}' \;