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-kerr-avt-vorbis-rtp-03.txt \
12 floor1_inverse_dB_table.html \
28 vorbis-fidelity.html \
35 ### FIXME: bits needed by the spec which lives in xml
51 # FIXME: also needed here
54 built_docs = Vorbis_I_spec.html Vorbis_I_spec.pdf
56 # conditionally make the generated documentation
58 doc_DATA = $(static_docs) $(SPEC_PNG) $(built_docs)
60 doc_DATA = $(static_docs) $(SPEC_PNG)
63 EXTRA_DIST = $(static_docs) $(doc_sources) \
64 $(SPEC_PNG) $(SPEC_PDF) $(built_docs)
66 doc_sources = xml/Vorbis_I_spec.xml \
67 xml/01-introduction.xml \
68 xml/02-bitpacking.xml \
77 xml/a1-encapsulation_ogg.xml \
78 xml/a2-encapsulation_rtp.xml \
84 # these are expensive; only remove if we have to
85 DISTCLEANFILES = $(built_docs)
86 CLEANFILES = Vorbis_I_spec.fo spec.aux spec.log spec.out
88 # rules for temporary build dir for spec
90 # how to copy images to build dir
91 SPEC_PNG_BUILD = $(foreach file, $(SPEC_PNG), $(BUILDDIR)/$(file))
92 SPEC_PDF_BUILD = $(foreach file, $(SPEC_PDF), $(BUILDDIR)/$(file))
93 $(BUILDDIR)/%: $(srcdir)/%
94 @echo "Copying $< to $@"
98 # how to copy the xml to build dir; cheat by only targeting the main one
99 $(BUILDDIR)/Vorbis_I_spec.xml: $(doc_sources)
100 @mkdir -p $(BUILDDIR)
101 @for file in $(doc_sources); do cp $(srcdir)/$$file $(BUILDDIR); done
102 # translate the draft rtp.txt to .xml in the BUILDDIR
103 $(BUILDDIR)/draft-rtp.xml: draft-kerr-avt-vorbis-rtp-03.txt
104 cat $< | sed 's/
\f//g' > $@
105 # cat $< | sed 's/
\f//g' | sed 's/</\</g' | sed 's/>/\>/g' > $@
107 # explicit rules for generating docs
109 Vorbis_I_spec.html: $(SPEC_PNG_BUILD) $(BUILDDIR)/Vorbis_I_spec.xml
110 cd build; xsltproc --xinclude --output Vorbis_I_spec.html spec-html.xsl Vorbis_I_spec.xml && mv $@ ..
112 Vorbis_I_spec.fo: $(BUILDDIR)/Vorbis_I_spec.xml
113 cd build; xsltproc --xinclude --output $@ spec-fo.xsl Vorbis_I_spec.xml && mv $@ ..
115 # we add the two newlines to pdfxmltex because on a number of Fedora systems
116 # tex prompts for input complaining about something;
117 # and surprisingly there's no way to tell tex to ignore that
118 # also, --interaction doesn't seem to actually do anything different
120 Vorbis_I_spec.pdf: Vorbis_I_spec.fo $(SPEC_PNG_BUILD) $(SPEC_PDF_BUILD)
121 cp $< build/spec.fo # work around a passivetex bug
122 cd build; echo -e -n "\n\n" | pdfxmltex --interaction nonstopmode spec.fo
123 cd build; echo -e -n "\n\n" | pdfxmltex --interaction nonstopmode spec.fo
127 Vorbis_I_spec.html: NO_DOCS_ERROR
128 Vorbis_I_spec.pdf: NO_DOCS_ERROR
131 @echo "*** Documentation has not been built! ***"
132 @echo "Try re-running after passing --enable-docs to configure."
138 -$(RM) -r $(BUILDDIR)