summaryrefslogtreecommitdiffstats
path: root/src/doc
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2012-10-16 20:11:14 -0400
committerBen Kaduk <kaduk@mit.edu>2012-11-14 14:15:24 -0500
commitf06725b7a98c16630f80d8cc1dd6386a7d21a058 (patch)
tree60f3e4c983eca9cca75d757a45fa6872c0496e6e /src/doc
parentd6d0455c13bdd137dca527219e4cd6ecce161fc3 (diff)
downloadkrb5-f06725b7a98c16630f80d8cc1dd6386a7d21a058.tar.gz
krb5-f06725b7a98c16630f80d8cc1dd6386a7d21a058.tar.xz
krb5-f06725b7a98c16630f80d8cc1dd6386a7d21a058.zip
Make glue for building PDFs
sphinx-build's latex output engine creates a subdirectory with various latex files, and a Makefile. The generated Makefile assumes gmake, which we do not. The logic needed in this makefile is rather simple, so we just include it in src/doc/Makefile.in, even if we do need a rather complicated shell expression to work in the subdirectory. ticket: 7433 tags: pullup
Diffstat (limited to 'src/doc')
-rw-r--r--src/doc/Makefile.in26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in
index 913a50a934..3c5d3f3b51 100644
--- a/src/doc/Makefile.in
+++ b/src/doc/Makefile.in
@@ -28,6 +28,10 @@ RST_SOURCES= _static \
relay \
resources.rst
+PDFDIR=$(docsrc)/pdf
+PDFDOCS= admin appdev basic build plugindev user
+LATEXOPTS=
+
# Create HTML documentation in $(docsrc)/html suitable for a
# release tarball or the web site (that is, without substitutions for
# configured paths). This can be done in an unconfigured source tree
@@ -53,6 +57,28 @@ notice.txt: $(docsrc)/conf.py $(docsrc)/notice.rst
NOTICE: notice.txt
cp notice.txt $(top_srcdir)/../NOTICE
+$(PDFDIR): composite
+ $(SPHINX_BUILD) -b latex -q rst_composite $(PDFDIR)
+ # sphinx-build generates a gmake-specific Makefile that we don't use
+ mv $(PDFDIR)/Makefile $(PDFDIR)/GMakefile
+
+# Not pretty. Can't use a suffix rule .tex.pdf without a Makefile in
+# $(PDFDIR) because pdflatex looks for include files in the current
+# working directory. The sphinx-build Makefile is quite conservative
+# and runs pdflatex five times; we can be slightly less conservative.
+pdf: $(PDFDIR)
+ (cd $(PDFDIR) && \
+ for i in $(PDFDOCS); do \
+ texfile=`echo $${i}.tex` && \
+ idxfile=`echo $${i}.idx` && \
+ pdflatex $(LATEXOPTS) $$texfile && \
+ pdflatex $(LATEXOPTS) $$texfile && \
+ makeindex -s python.ist $$idxfile || true; \
+ pdflatex $(LATEXOPTS) $$texfile && \
+ pdflatex $(LATEXOPTS) $$texfile; done && \
+ rm -f *.dvi *.log *.ind *.aux *.toc *.syn *.idx *.out *.ilg *.pla \
+ )
+
# Use doxygen to generate API documentation, translate it into RST
# format, and then create a composite of $(docsrc)'s RST and the
# generated files in rst_composite. Used by the html and substhtml targets.