1# Makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line.
5SPHINXOPTS    =
6SPHINXBUILD   = sphinx-build
7PAPER         =
8BUILDDIR      = _build
9HTMLDIR	      = html
10
11# Internal variables.
12PAPEROPT_a4     = -D latex_paper_size=a4
13PAPEROPT_letter = -D latex_paper_size=letter
14ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
15
16.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
17
18all: html
19
20help:
21	@echo "Please use \`make <target>' where <target> is one of"
22	@echo "  html       to make standalone HTML files"
23	@echo "  dirhtml    to make HTML files named index.html in directories"
24	@echo "  singlehtml to make a single large HTML file"
25	@echo "  pickle     to make pickle files"
26	@echo "  json       to make JSON files"
27	@echo "  htmlhelp   to make HTML files and a HTML help project"
28	@echo "  qthelp     to make HTML files and a qthelp project"
29	@echo "  devhelp    to make HTML files and a Devhelp project"
30	@echo "  epub       to make an epub"
31	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
32	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
33	@echo "  text       to make text files"
34	@echo "  man        to make manual pages"
35	@echo "  changes    to make an overview of all changed/added/deprecated items"
36	@echo "  linkcheck  to check all external links for integrity"
37	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
38
39clean:
40	-rm -rf $(BUILDDIR)/*
41
42html:
43	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(HTMLDIR)
44	@echo
45	@echo "Build finished. The HTML pages are in $(HTMLDIR)."
46
47dirhtml:
48	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
49	@echo
50	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
51
52singlehtml:
53	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
54	@echo
55	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
56
57pickle:
58	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
59	@echo
60	@echo "Build finished; now you can process the pickle files."
61
62json:
63	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
64	@echo
65	@echo "Build finished; now you can process the JSON files."
66
67htmlhelp:
68	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
69	@echo
70	@echo "Build finished; now you can run HTML Help Workshop with the" \
71	      ".hhp project file in $(BUILDDIR)/htmlhelp."
72
73qthelp:
74	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
75	@echo
76	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
77	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
78	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/BoostNumPy.qhcp"
79	@echo "To view the help file:"
80	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/BoostNumPy.qhc"
81
82devhelp:
83	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
84	@echo
85	@echo "Build finished."
86	@echo "To view the help file:"
87	@echo "# mkdir -p $$HOME/.local/share/devhelp/BoostNumPy"
88	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/BoostNumPy"
89	@echo "# devhelp"
90
91epub:
92	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
93	@echo
94	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
95
96latex:
97	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
98	@echo
99	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
100	@echo "Run \`make' in that directory to run these through (pdf)latex" \
101	      "(use \`make latexpdf' here to do that automatically)."
102
103latexpdf:
104	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
105	@echo "Running LaTeX files through pdflatex..."
106	make -C $(BUILDDIR)/latex all-pdf
107	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
108
109text:
110	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
111	@echo
112	@echo "Build finished. The text files are in $(BUILDDIR)/text."
113
114man:
115	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
116	@echo
117	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
118
119changes:
120	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
121	@echo
122	@echo "The overview file is in $(BUILDDIR)/changes."
123
124linkcheck:
125	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
126	@echo
127	@echo "Link check complete; look for any errors in the above output " \
128	      "or in $(BUILDDIR)/linkcheck/output.txt."
129
130doctest:
131	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
132	@echo "Testing of doctests in the sources finished, look at the " \
133	      "results in $(BUILDDIR)/doctest/output.txt."
134