1
1
# Makefile for Sphinx documentation
2
2
#
3
3
4
- # You can set these variables from the command line.
5
- SPHINXOPTS =
6
- SPHINXBUILD = sphinx-build
7
- PAPER =
8
- BUILDDIR = build
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = .
9
+ BUILDDIR = _build
10
+ AUTODOCDIR = api
9
11
10
12
# User-friendly check for sphinx-build
11
- ifeq ($(shell which $(SPHINXBUILD ) >/dev/null 2>&1; echo $$ ? ) , 1)
12
- $(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don\ 't have Sphinx installed, grab it from http ://sphinx-doc.org/)
13
+ ifeq ($(shell which $(SPHINXBUILD ) >/dev/null 2>&1; echo $? ) , 1)
14
+ $(error " The '$(SPHINXBUILD ) ' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD ) ' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from https ://sphinx-doc.org/" )
13
15
endif
14
16
15
- # Internal variables.
16
- PAPEROPT_a4 = -D latex_paper_size=a4
17
- PAPEROPT_letter = -D latex_paper_size=letter
18
- ALLSPHINXOPTS = -d $(BUILDDIR ) /doctrees $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) source
19
- # the i18n builder cannot share the environment and doctrees with the others
20
- I18NSPHINXOPTS = $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) source
17
+ .PHONY : help clean Makefile
21
18
22
- .PHONY : help
19
+ # Put it first so that "make" without argument is like "make help".
23
20
help :
24
- @echo " Please use \` make <target>' where <target> is one of"
25
- @echo " html to make standalone HTML files"
26
- @echo " dirhtml to make HTML files named index.html in directories"
27
- @echo " singlehtml to make a single large HTML file"
28
- @echo " pickle to make pickle files"
29
- @echo " json to make JSON files"
30
- @echo " htmlhelp to make HTML files and a HTML help project"
31
- @echo " qthelp to make HTML files and a qthelp project"
32
- @echo " applehelp to make an Apple Help Book"
33
- @echo " devhelp to make HTML files and a Devhelp project"
34
- @echo " epub to make an epub"
35
- @echo " epub3 to make an epub3"
36
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
37
- @echo " latexpdf to make LaTeX files and run them through pdflatex"
38
- @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
39
- @echo " text to make text files"
40
- @echo " man to make manual pages"
41
- @echo " texinfo to make Texinfo files"
42
- @echo " info to make Texinfo files and run them through makeinfo"
43
- @echo " gettext to make PO message catalogs"
44
- @echo " changes to make an overview of all changed/added/deprecated items"
45
- @echo " xml to make Docutils-native XML files"
46
- @echo " pseudoxml to make pseudoxml-XML files for display purposes"
47
- @echo " linkcheck to check all external links for integrity"
48
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
49
- @echo " coverage to run coverage check of the documentation (if enabled)"
50
- @echo " dummy to check syntax errors of document sources"
21
+ @$(SPHINXBUILD ) -M help " $( SOURCEDIR) " " $( BUILDDIR) " $(SPHINXOPTS ) $(O )
51
22
52
- .PHONY : clean
53
23
clean :
54
- rm -rf $(BUILDDIR ) /*
24
+ rm -rf $(BUILDDIR ) /* $( AUTODOCDIR )
55
25
56
- .PHONY : html
57
- html :
58
- $(SPHINXBUILD ) -b html $(ALLSPHINXOPTS ) $(BUILDDIR ) /html
59
- @echo
60
- @echo " Build finished. The HTML pages are in $( BUILDDIR) /html."
61
-
62
- .PHONY : dirhtml
63
- dirhtml :
64
- $(SPHINXBUILD ) -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml
65
- @echo
66
- @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
67
-
68
- .PHONY : singlehtml
69
- singlehtml :
70
- $(SPHINXBUILD ) -b singlehtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /singlehtml
71
- @echo
72
- @echo " Build finished. The HTML page is in $( BUILDDIR) /singlehtml."
73
-
74
- .PHONY : pickle
75
- pickle :
76
- $(SPHINXBUILD ) -b pickle $(ALLSPHINXOPTS ) $(BUILDDIR ) /pickle
77
- @echo
78
- @echo " Build finished; now you can process the pickle files."
79
-
80
- .PHONY : json
81
- json :
82
- $(SPHINXBUILD ) -b json $(ALLSPHINXOPTS ) $(BUILDDIR ) /json
83
- @echo
84
- @echo " Build finished; now you can process the JSON files."
85
-
86
- .PHONY : htmlhelp
87
- htmlhelp :
88
- $(SPHINXBUILD ) -b htmlhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /htmlhelp
89
- @echo
90
- @echo " Build finished; now you can run HTML Help Workshop with the" \
91
- " .hhp project file in $( BUILDDIR) /htmlhelp."
92
-
93
- .PHONY : qthelp
94
- qthelp :
95
- $(SPHINXBUILD ) -b qthelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /qthelp
96
- @echo
97
- @echo " Build finished; now you can run " qcollectiongenerator" with the" \
98
- " .qhcp project file in $( BUILDDIR) /qthelp, like this:"
99
- @echo " # qcollectiongenerator $( BUILDDIR) /qthelp/tdm_loader.qhcp"
100
- @echo " To view the help file:"
101
- @echo " # assistant -collectionFile $( BUILDDIR) /qthelp/tdm_loader.qhc"
102
-
103
- .PHONY : applehelp
104
- applehelp :
105
- $(SPHINXBUILD ) -b applehelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /applehelp
106
- @echo
107
- @echo " Build finished. The help book is in $( BUILDDIR) /applehelp."
108
- @echo " N.B. You won't be able to view it unless you put it in" \
109
- " ~/Library/Documentation/Help or install it in your application" \
110
- " bundle."
111
-
112
- .PHONY : devhelp
113
- devhelp :
114
- $(SPHINXBUILD ) -b devhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /devhelp
115
- @echo
116
- @echo " Build finished."
117
- @echo " To view the help file:"
118
- @echo " # mkdir -p $$ HOME/.local/share/devhelp/tdm_loader"
119
- @echo " # ln -s $( BUILDDIR) /devhelp $$ HOME/.local/share/devhelp/tdm_loader"
120
- @echo " # devhelp"
121
-
122
- .PHONY : epub
123
- epub :
124
- $(SPHINXBUILD ) -b epub $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub
125
- @echo
126
- @echo " Build finished. The epub file is in $( BUILDDIR) /epub."
127
-
128
- .PHONY : epub3
129
- epub3 :
130
- $(SPHINXBUILD ) -b epub3 $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub3
131
- @echo
132
- @echo " Build finished. The epub3 file is in $( BUILDDIR) /epub3."
133
-
134
- .PHONY : latex
135
- latex :
136
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
137
- @echo
138
- @echo " Build finished; the LaTeX files are in $( BUILDDIR) /latex."
139
- @echo " Run \` make' in that directory to run these through (pdf)latex" \
140
- " (use \` make latexpdf' here to do that automatically)."
141
-
142
- .PHONY : latexpdf
143
- latexpdf :
144
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
145
- @echo " Running LaTeX files through pdflatex..."
146
- $(MAKE ) -C $(BUILDDIR ) /latex all-pdf
147
- @echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex."
148
-
149
- .PHONY : latexpdfja
150
- latexpdfja :
151
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
152
- @echo " Running LaTeX files through platex and dvipdfmx..."
153
- $(MAKE ) -C $(BUILDDIR ) /latex all-pdf-ja
154
- @echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex."
155
-
156
- .PHONY : text
157
- text :
158
- $(SPHINXBUILD ) -b text $(ALLSPHINXOPTS ) $(BUILDDIR ) /text
159
- @echo
160
- @echo " Build finished. The text files are in $( BUILDDIR) /text."
161
-
162
- .PHONY : man
163
- man :
164
- $(SPHINXBUILD ) -b man $(ALLSPHINXOPTS ) $(BUILDDIR ) /man
165
- @echo
166
- @echo " Build finished. The manual pages are in $( BUILDDIR) /man."
167
-
168
- .PHONY : texinfo
169
- texinfo :
170
- $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
171
- @echo
172
- @echo " Build finished. The Texinfo files are in $( BUILDDIR) /texinfo."
173
- @echo " Run \` make' in that directory to run these through makeinfo" \
174
- " (use \` make info' here to do that automatically)."
175
-
176
- .PHONY : info
177
- info :
178
- $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
179
- @echo " Running Texinfo files through makeinfo..."
180
- make -C $(BUILDDIR ) /texinfo info
181
- @echo " makeinfo finished; the Info files are in $( BUILDDIR) /texinfo."
182
-
183
- .PHONY : gettext
184
- gettext :
185
- $(SPHINXBUILD ) -b gettext $(I18NSPHINXOPTS ) $(BUILDDIR ) /locale
186
- @echo
187
- @echo " Build finished. The message catalogs are in $( BUILDDIR) /locale."
188
-
189
- .PHONY : changes
190
- changes :
191
- $(SPHINXBUILD ) -b changes $(ALLSPHINXOPTS ) $(BUILDDIR ) /changes
192
- @echo
193
- @echo " The overview file is in $( BUILDDIR) /changes."
194
-
195
- .PHONY : linkcheck
196
- linkcheck :
197
- $(SPHINXBUILD ) -b linkcheck $(ALLSPHINXOPTS ) $(BUILDDIR ) /linkcheck
198
- @echo
199
- @echo " Link check complete; look for any errors in the above output " \
200
- " or in $( BUILDDIR) /linkcheck/output.txt."
201
-
202
- .PHONY : doctest
203
- doctest :
204
- $(SPHINXBUILD ) -b doctest $(ALLSPHINXOPTS ) $(BUILDDIR ) /doctest
205
- @echo " Testing of doctests in the sources finished, look at the " \
206
- " results in $( BUILDDIR) /doctest/output.txt."
207
-
208
- .PHONY : coverage
209
- coverage :
210
- $(SPHINXBUILD ) -b coverage $(ALLSPHINXOPTS ) $(BUILDDIR ) /coverage
211
- @echo " Testing of coverage in the sources finished, look at the " \
212
- " results in $( BUILDDIR) /coverage/python.txt."
213
-
214
- .PHONY : xml
215
- xml :
216
- $(SPHINXBUILD ) -b xml $(ALLSPHINXOPTS ) $(BUILDDIR ) /xml
217
- @echo
218
- @echo " Build finished. The XML files are in $( BUILDDIR) /xml."
219
-
220
- .PHONY : pseudoxml
221
- pseudoxml :
222
- $(SPHINXBUILD ) -b pseudoxml $(ALLSPHINXOPTS ) $(BUILDDIR ) /pseudoxml
223
- @echo
224
- @echo " Build finished. The pseudo-XML files are in $( BUILDDIR) /pseudoxml."
225
-
226
- .PHONY : dummy
227
- dummy :
228
- $(SPHINXBUILD ) -b dummy $(ALLSPHINXOPTS ) $(BUILDDIR ) /dummy
229
- @echo
230
- @echo " Build finished. Dummy builder generates no files."
26
+ # Catch-all target: route all unknown targets to Sphinx using the new
27
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
28
+ % : Makefile
29
+ @$(SPHINXBUILD ) -M $@ " $( SOURCEDIR) " " $( BUILDDIR) " $(SPHINXOPTS ) $(O )
0 commit comments