4557.3.1
by Ian Clatworthy
Core website & navigation working |
1 |
# Makefile for Sphinx documentation
|
2 |
#
|
|
3 |
||
4 |
# You can set these variables from the command line.
|
|
5 |
SPHINXOPTS = |
|
6 |
SPHINXBUILD = sphinx-build |
|
7 |
PAPER = |
|
8 |
||
9 |
# Internal variables.
|
|
10 |
PAPEROPT_a4 = -D latex_paper_size=a4 |
|
11 |
PAPEROPT_letter = -D latex_paper_size=letter |
|
12 |
ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . |
|
13 |
||
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
14 |
# Note that this assumes name of the output dir is same as name of the rule.
|
15 |
define make_output_dirs
|
|
16 |
# Create output directory (only needed for sphinx < 0.5)
|
|
4797.44.7
by Michael Gliwinski
Avoid using 'mkdir -p' to create directories as it may not be portable. |
17 |
[ -d _build ] || mkdir _build |
18 |
[ -d "_build/$@" ] || mkdir "_build/$@" |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
19 |
# Workaround for a bug in sphinx < 0.5 where it tries to delete
|
20 |
# nonexistent static dirs and does not catch the exception. This was
|
|
21 |
# fixed in svn+ssh://pythondev@svn.python.org/doctools/branches/0.4.x
|
|
22 |
# at r65551 and merged as 280b62246342 in hg branch released as 0.5.
|
|
4797.44.7
by Michael Gliwinski
Avoid using 'mkdir -p' to create directories as it may not be portable. |
23 |
[ -d "_build/$@/_static" ] || mkdir "_build/$@/_static" |
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
24 |
for fn in _static/*; do \ |
4797.44.7
by Michael Gliwinski
Avoid using 'mkdir -p' to create directories as it may not be portable. |
25 |
[ ! -d "$$fn" ] && continue; \ |
26 |
[ -d "_build/$@/$$fn" ] || mkdir "_build/$@/$$fn"; \ |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
27 |
done
|
28 |
endef
|
|
29 |
||
4557.3.1
by Ian Clatworthy
Core website & navigation working |
30 |
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest |
31 |
||
32 |
help: |
|
33 |
@echo "Please use \`make <target>' where <target> is one of"
|
|
34 |
@echo " html to make standalone HTML files"
|
|
35 |
@echo " dirhtml to make HTML files named index.html in directories"
|
|
36 |
@echo " pickle to make pickle files"
|
|
37 |
@echo " json to make JSON files"
|
|
38 |
@echo " htmlhelp to make HTML files and a HTML help project"
|
|
39 |
@echo " qthelp to make HTML files and a qthelp project"
|
|
40 |
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
|
|
41 |
@echo " changes to make an overview of all changed/added/deprecated items"
|
|
42 |
@echo " linkcheck to check all external links for integrity"
|
|
43 |
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
|
|
44 |
||
45 |
clean: |
|
46 |
-rm -rf _build/* |
|
47 |
||
48 |
html: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
49 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
50 |
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) _build/html |
51 |
@echo |
|
52 |
@echo "Build finished. The HTML pages are in _build/html."
|
|
53 |
||
54 |
dirhtml: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
55 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
56 |
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml |
57 |
@echo |
|
58 |
@echo "Build finished. The HTML pages are in _build/dirhtml."
|
|
59 |
||
60 |
pickle: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
61 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
62 |
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) _build/pickle |
63 |
@echo |
|
64 |
@echo "Build finished; now you can process the pickle files."
|
|
65 |
||
66 |
json: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
67 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
68 |
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) _build/json |
69 |
@echo |
|
70 |
@echo "Build finished; now you can process the JSON files."
|
|
71 |
||
72 |
htmlhelp: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
73 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
74 |
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) _build/htmlhelp |
75 |
@echo |
|
76 |
@echo "Build finished; now you can run HTML Help Workshop with the" \ |
|
77 |
".hhp project file in _build/htmlhelp."
|
|
78 |
||
79 |
qthelp: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
80 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
81 |
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) _build/qthelp |
82 |
@echo |
|
83 |
@echo "Build finished; now you can run "qcollectiongenerator" with the" \ |
|
84 |
".qhcp project file in _build/qthelp, like this:"
|
|
85 |
@echo "# qcollectiongenerator _build/qthelp/Bazaar.qhcp"
|
|
86 |
@echo "To view the help file:"
|
|
87 |
@echo "# assistant -collectionFile _build/qthelp/Bazaar.qhc"
|
|
88 |
||
89 |
latex: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
90 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
91 |
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex |
92 |
@echo |
|
93 |
@echo "Build finished; the LaTeX files are in _build/latex."
|
|
94 |
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ |
|
95 |
"run these through (pdf)latex."
|
|
96 |
||
97 |
changes: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
98 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
99 |
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) _build/changes |
100 |
@echo |
|
101 |
@echo "The overview file is in _build/changes."
|
|
102 |
||
103 |
linkcheck: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
104 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
105 |
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) _build/linkcheck |
106 |
@echo |
|
107 |
@echo "Link check complete; look for any errors in the above output " \ |
|
108 |
"or in _build/linkcheck/output.txt."
|
|
109 |
||
110 |
doctest: |
|
4797.44.6
by Michael Gliwinski
Externalized workarounds into a canned command sequence so they can be used for other targets. |
111 |
$(make_output_dirs) |
4557.3.1
by Ian Clatworthy
Core website & navigation working |
112 |
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) _build/doctest |
113 |
@echo "Testing of doctests in the sources finished, look at the " \ |
|
114 |
"results in _build/doctest/output.txt."
|
|
5188.1.2
by Vincent Ladeuil
Add a skeleton texinfo builder for sphinx. |
115 |
|
116 |
texinfo: |
|
6437.48.1
by Vincent Ladeuil
Rely on sphinx for texinfo doc generation |
117 |
$(make_output_dirs) |
5188.1.2
by Vincent Ladeuil
Add a skeleton texinfo builder for sphinx. |
118 |
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) _build/texinfo |
6437.48.1
by Vincent Ladeuil
Rely on sphinx for texinfo doc generation |
119 |
# Now build the info files using the Makefile provided by Sphinx
|
120 |
$(MAKE) -C _build/texinfo |
|
5188.1.2
by Vincent Ladeuil
Add a skeleton texinfo builder for sphinx. |
121 |