+# Makefile for Sphinx documentation
+#
-rst=rst
-latex=latex
-html=html
+# You can set these variables from the command line.
+SPHINXOPTS =
+SPHINXBUILD = sphinx-build
+PAPER =
-rstopts=--section-subtitles --language=es
-latexopts=--use-latex-footnotes --use-latex-citations --use-latex-docinfo \
- --use-latex-toc --documentclass=book --use-verbatim-when-possible
-printopts=--hyperlink-color=0
-htmlopts=--footnote-references=superscript --cloak-email-addresses
+# Internal variables.
+PAPEROPT_a4 = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
-targets=informe.pdf informe.$(html) #informe-print.pdf
+.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
-docnames=informe informe-print
+all: pdf
-all: $(targets) clean-tmp
+pdf: latex
+ @$(MAKE) -C build/latex all-pdf
-# Informe
-informe.$(latex): informe.$(rst)
- @echo "Generando $@..."
- @rst2latex $(rstopts) $(latexopts) "$(basename $<).$(rst)" > "$@"
+help:
+ @echo "Please use \`make <target>' where <target> is one of"
+ @echo " html to make standalone HTML files"
+ @echo " dirhtml to make HTML files named index.html in directories"
+ @echo " pickle to make pickle files"
+ @echo " json to make JSON files"
+ @echo " htmlhelp to make HTML files and a HTML help project"
+ @echo " qthelp to make HTML files and a qthelp project"
+ @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+ @echo " changes to make an overview of all changed/added/deprecated items"
+ @echo " linkcheck to check all external links for integrity"
+ @echo " doctest to run all doctests embedded in the documentation (if enabled)"
-informe.$(html): informe.$(rst)
- @echo "Generando $@..."
- @rst2html $(rstopts) $(htmlopts) "$(basename $<).$(rst)" > "$@"
+clean:
+ -rm -rf build/*
-informe.pdf: informe.$(latex)
- @echo "Generando $@..."
- @pdflatex "$(basename $<).$(latex)" > /dev/null
- @pdflatex "$(basename $<).$(latex)" > /dev/null
+html:
+ $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html
+ @echo
+ @echo "Build finished. The HTML pages are in build/html."
-# Informe para imprimir
-informe-print.$(latex): informe.$(rst)
- @echo "Generando $@..."
- @rst2latex $(rstopts) $(latexopts) $(printopts) "$(basename $<).$(rst)" > "$@"
+dirhtml:
+ $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) build/dirhtml
+ @echo
+ @echo "Build finished. The HTML pages are in build/dirhtml."
-informe-print.pdf: informe-print.$(latex)
- @echo "Generando $@..."
- @pdflatex "$(basename $<).$(latex)" > /dev/null
- @pdflatex "$(basename $<).$(latex)" > /dev/null
+pickle:
+ $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle
+ @echo
+ @echo "Build finished; now you can process the pickle files."
-clean-tmp:
- @$(RM) $(addsuffix .aux, $(docnames)) $(addsuffix .out,$(docnames))
- @$(RM) $(addsuffix .log, $(docnames)) $(addsuffix .toc, $(docnames)) texput.log
- @$(RM) texput.log
+json:
+ $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) build/json
+ @echo
+ @echo "Build finished; now you can process the JSON files."
-clean: clean-tmp
- @$(RM) -fv $(targets) $(addsuffix .latex, $(docnames))
+htmlhelp:
+ $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp
+ @echo
+ @echo "Build finished; now you can run HTML Help Workshop with the" \
+ ".hhp project file in build/htmlhelp."
-.PHONY: clean all
+qthelp:
+ $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) build/qthelp
+ @echo
+ @echo "Build finished; now you can run "qcollectiongenerator" with the" \
+ ".qhcp project file in build/qthelp, like this:"
+ @echo "# qcollectiongenerator build/qthelp/tesis.qhcp"
+ @echo "To view the help file:"
+ @echo "# assistant -collectionFile build/qthelp/tesis.qhc"
+latex:
+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
+ @cp hacks/sphinx.sty build/latex
+ @echo
+ @echo "Build finished; the LaTeX files are in build/latex."
+ @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
+ "run these through (pdf)latex."
+
+changes:
+ $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes
+ @echo
+ @echo "The overview file is in build/changes."
+
+linkcheck:
+ $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck
+ @echo
+ @echo "Link check complete; look for any errors in the above output " \
+ "or in build/linkcheck/output.txt."
+
+doctest:
+ $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) build/doctest
+ @echo "Testing of doctests in the sources finished, look at the " \
+ "results in build/doctest/output.txt."