1
- # Makefile for Sphinx documentation
1
+ # Minimal makefile for Sphinx documentation
2
2
#
3
3
4
4
# You can set these variables from the command line.
5
5
SPHINXOPTS =
6
6
SPHINXBUILD = sphinx-build
7
- PAPER =
7
+ SOURCEDIR = .
8
8
BUILDDIR = _build
9
9
10
- # 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
- endif
14
-
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 ) .
19
- # the i18n builder cannot share the environment and doctrees with the others
20
- I18NSPHINXOPTS = $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) .
21
-
22
- .PHONY : help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23
-
10
+ # Put it first so that "make" without argument is like "make help".
24
11
help :
25
- @echo " Please use \` make <target>' where <target> is one of"
26
- @echo " html to make standalone HTML files"
27
- @echo " dirhtml to make HTML files named index.html in directories"
28
- @echo " singlehtml to make a single large HTML file"
29
- @echo " pickle to make pickle files"
30
- @echo " json to make JSON files"
31
- @echo " htmlhelp to make HTML files and a HTML help project"
32
- @echo " qthelp to make HTML files and a qthelp project"
33
- @echo " applehelp to make an Apple Help Book"
34
- @echo " devhelp to make HTML files and a Devhelp project"
35
- @echo " epub to make an epub"
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
-
51
- clean :
52
- rm -rf $(BUILDDIR ) /*
53
-
54
- html :
55
- $(SPHINXBUILD ) -b html $(ALLSPHINXOPTS ) $(BUILDDIR ) /html
56
- @echo
57
- @echo " Build finished. The HTML pages are in $( BUILDDIR) /html."
58
-
59
- dirhtml :
60
- $(SPHINXBUILD ) -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml
61
- @echo
62
- @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
63
-
64
- singlehtml :
65
- $(SPHINXBUILD ) -b singlehtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /singlehtml
66
- @echo
67
- @echo " Build finished. The HTML page is in $( BUILDDIR) /singlehtml."
68
-
69
- pickle :
70
- $(SPHINXBUILD ) -b pickle $(ALLSPHINXOPTS ) $(BUILDDIR ) /pickle
71
- @echo
72
- @echo " Build finished; now you can process the pickle files."
73
-
74
- json :
75
- $(SPHINXBUILD ) -b json $(ALLSPHINXOPTS ) $(BUILDDIR ) /json
76
- @echo
77
- @echo " Build finished; now you can process the JSON files."
78
-
79
- htmlhelp :
80
- $(SPHINXBUILD ) -b htmlhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /htmlhelp
81
- @echo
82
- @echo " Build finished; now you can run HTML Help Workshop with the" \
83
- " .hhp project file in $( BUILDDIR) /htmlhelp."
84
-
85
- qthelp :
86
- $(SPHINXBUILD ) -b qthelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /qthelp
87
- @echo
88
- @echo " Build finished; now you can run " qcollectiongenerator" with the" \
89
- " .qhcp project file in $( BUILDDIR) /qthelp, like this:"
90
- @echo " # qcollectiongenerator $( BUILDDIR) /qthelp/socketio.qhcp"
91
- @echo " To view the help file:"
92
- @echo " # assistant -collectionFile $( BUILDDIR) /qthelp/socketio.qhc"
93
-
94
- applehelp :
95
- $(SPHINXBUILD ) -b applehelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /applehelp
96
- @echo
97
- @echo " Build finished. The help book is in $( BUILDDIR) /applehelp."
98
- @echo " N.B. You won't be able to view it unless you put it in" \
99
- " ~/Library/Documentation/Help or install it in your application" \
100
- " bundle."
101
-
102
- devhelp :
103
- $(SPHINXBUILD ) -b devhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /devhelp
104
- @echo
105
- @echo " Build finished."
106
- @echo " To view the help file:"
107
- @echo " # mkdir -p $$ HOME/.local/share/devhelp/socketio"
108
- @echo " # ln -s $( BUILDDIR) /devhelp $$ HOME/.local/share/devhelp/socketio"
109
- @echo " # devhelp"
110
-
111
- epub :
112
- $(SPHINXBUILD ) -b epub $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub
113
- @echo
114
- @echo " Build finished. The epub file is in $( BUILDDIR) /epub."
115
-
116
- latex :
117
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
118
- @echo
119
- @echo " Build finished; the LaTeX files are in $( BUILDDIR) /latex."
120
- @echo " Run \` make' in that directory to run these through (pdf)latex" \
121
- " (use \` make latexpdf' here to do that automatically)."
122
-
123
- latexpdf :
124
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
125
- @echo " Running LaTeX files through pdflatex..."
126
- $(MAKE ) -C $(BUILDDIR ) /latex all-pdf
127
- @echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex."
128
-
129
- latexpdfja :
130
- $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
131
- @echo " Running LaTeX files through platex and dvipdfmx..."
132
- $(MAKE ) -C $(BUILDDIR ) /latex all-pdf-ja
133
- @echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex."
134
-
135
- text :
136
- $(SPHINXBUILD ) -b text $(ALLSPHINXOPTS ) $(BUILDDIR ) /text
137
- @echo
138
- @echo " Build finished. The text files are in $( BUILDDIR) /text."
139
-
140
- man :
141
- $(SPHINXBUILD ) -b man $(ALLSPHINXOPTS ) $(BUILDDIR ) /man
142
- @echo
143
- @echo " Build finished. The manual pages are in $( BUILDDIR) /man."
144
-
145
- texinfo :
146
- $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
147
- @echo
148
- @echo " Build finished. The Texinfo files are in $( BUILDDIR) /texinfo."
149
- @echo " Run \` make' in that directory to run these through makeinfo" \
150
- " (use \` make info' here to do that automatically)."
151
-
152
- info :
153
- $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
154
- @echo " Running Texinfo files through makeinfo..."
155
- make -C $(BUILDDIR ) /texinfo info
156
- @echo " makeinfo finished; the Info files are in $( BUILDDIR) /texinfo."
157
-
158
- gettext :
159
- $(SPHINXBUILD ) -b gettext $(I18NSPHINXOPTS ) $(BUILDDIR ) /locale
160
- @echo
161
- @echo " Build finished. The message catalogs are in $( BUILDDIR) /locale."
162
-
163
- changes :
164
- $(SPHINXBUILD ) -b changes $(ALLSPHINXOPTS ) $(BUILDDIR ) /changes
165
- @echo
166
- @echo " The overview file is in $( BUILDDIR) /changes."
167
-
168
- linkcheck :
169
- $(SPHINXBUILD ) -b linkcheck $(ALLSPHINXOPTS ) $(BUILDDIR ) /linkcheck
170
- @echo
171
- @echo " Link check complete; look for any errors in the above output " \
172
- " or in $( BUILDDIR) /linkcheck/output.txt."
173
-
174
- doctest :
175
- $(SPHINXBUILD ) -b doctest $(ALLSPHINXOPTS ) $(BUILDDIR ) /doctest
176
- @echo " Testing of doctests in the sources finished, look at the " \
177
- " results in $( BUILDDIR) /doctest/output.txt."
178
-
179
- coverage :
180
- $(SPHINXBUILD ) -b coverage $(ALLSPHINXOPTS ) $(BUILDDIR ) /coverage
181
- @echo " Testing of coverage in the sources finished, look at the " \
182
- " results in $( BUILDDIR) /coverage/python.txt."
12
+ @$(SPHINXBUILD ) -M help " $( SOURCEDIR) " " $( BUILDDIR) " $(SPHINXOPTS ) $(O )
183
13
184
- xml :
185
- $(SPHINXBUILD ) -b xml $(ALLSPHINXOPTS ) $(BUILDDIR ) /xml
186
- @echo
187
- @echo " Build finished. The XML files are in $( BUILDDIR) /xml."
14
+ .PHONY : help Makefile
188
15
189
- pseudoxml :
190
- $( SPHINXBUILD ) -b pseudoxml $( ALLSPHINXOPTS ) $( BUILDDIR ) /pseudoxml
191
- @echo
192
- @echo " Build finished. The pseudo-XML files are in $( BUILDDIR) /pseudoxml. "
16
+ # Catch-all target: route all unknown targets to Sphinx using the new
17
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
18
+ % : Makefile
19
+ @$( SPHINXBUILD ) -M $@ " $( SOURCEDIR ) " " $( BUILDDIR) " $( SPHINXOPTS ) $( O )
0 commit comments