1 ## Process this with automake to create Makefile.in
3 SUBDIRS = vorbisfile vorbisenc
5 docdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
7 ### all of the static docs, commited to SVN and included as is
9 draft-ietf-avt-rtp-vorbis-08.xml \
10 draft-ietf-avt-rtp-vorbis-08.txt \
14 floor1_inverse_dB_table.html \
30 vorbis-fidelity.html \
37 ### FIXME: bits needed by the spec which lives in xml
53 # FIXME: also needed here
56 built_docs = Vorbis_I_spec.html Vorbis_I_spec.pdf
58 # conditionally make the generated documentation
60 doc_DATA = $(static_docs) $(SPEC_PNG) $(built_docs)
62 doc_DATA = $(static_docs) $(SPEC_PNG)
65 EXTRA_DIST = $(static_docs) $(doc_sources) \
66 $(SPEC_PNG) $(SPEC_PDF) $(built_docs)
68 doc_sources = xml/Vorbis_I_spec.xml \
69 xml/01-introduction.xml \
70 xml/02-bitpacking.xml \
80 xml/a1-encapsulation_ogg.xml \
81 xml/a2-encapsulation_rtp.xml \
87 # these are expensive; only remove if we have to
88 DISTCLEANFILES = $(built_docs)
89 CLEANFILES = Vorbis_I_spec.fo spec.aux spec.log spec.out
91 # rules for temporary build dir for spec
93 # how to copy images to build dir
94 SPEC_PNG_BUILD = $(foreach file, $(SPEC_PNG), $(BUILDDIR)/$(file))
95 SPEC_PDF_BUILD = $(foreach file, $(SPEC_PDF), $(BUILDDIR)/$(file))
96 $(BUILDDIR)/%: $(srcdir)/%
97 @echo "Copying $< to $@"
101 # how to copy the xml to build dir; cheat by only targeting the main one
102 $(BUILDDIR)/Vorbis_I_spec.xml: $(doc_sources)
103 @mkdir -p $(BUILDDIR)
104 @for file in $(doc_sources); do cp $(srcdir)/$$file $(BUILDDIR); done
105 # translate the draft rtp.txt to .xml in the BUILDDIR
106 $(BUILDDIR)/draft-rtp.xml: draft-ietf-avt-rtp-vorbis-05.txt
107 cat $< | sed 's/
\f//g' > $@
108 # cat $< | sed 's/
\f//g' | sed 's/</\</g' | sed 's/>/\>/g' > $@
110 # explicit rules for generating docs
112 Vorbis_I_spec.html: $(SPEC_PNG_BUILD) $(BUILDDIR)/Vorbis_I_spec.xml
113 cd build; xsltproc --xinclude --output Vorbis_I_spec.html spec-html.xsl Vorbis_I_spec.xml && mv $@ ..
115 Vorbis_I_spec.fo: $(BUILDDIR)/Vorbis_I_spec.xml
116 cd build; xsltproc --xinclude --output $@ spec-fo.xsl Vorbis_I_spec.xml && mv $@ ..
118 # we add the two newlines to pdfxmltex because this entire XML
119 # toolchain is built from wishful thinking and bonghits and the
120 # default supplied passivetex config files are buggy.
121 Vorbis_I_spec.pdf: Vorbis_I_spec.fo $(SPEC_PNG_BUILD) $(SPEC_PDF_BUILD)
122 cp $< build/spec.fo # work around a passivetex bug
123 -cd build; echo -e -n "\n\n" | pdfxmltex spec.fo
124 -cd build; echo -e -n "\n\n" | pdfxmltex spec.fo
128 Vorbis_I_spec.html: NO_DOCS_ERROR
129 Vorbis_I_spec.pdf: NO_DOCS_ERROR
132 @echo "*** Documentation has not been built! ***"
133 @echo "Try re-running after passing --enable-docs to configure."
139 -$(RM) -r $(BUILDDIR)