1@ECHO OFF
2
3REM Command file for Sphinx documentation
4
5if "%SPHINXBUILD%" == "" (
6	set SPHINXBUILD=sphinx-build
7)
8set BUILDDIR=_build
9set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
10set I18NSPHINXOPTS=%SPHINXOPTS% .
11if NOT "%PAPER%" == "" (
12	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
13	set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
14)
15
16if "%1" == "" goto help
17
18if "%1" == "help" (
19	:help
20	echo.Please use `make ^<target^>` where ^<target^> is one of
21	echo.  html       to make standalone HTML files
22	echo.  dirhtml    to make HTML files named index.html in directories
23	echo.  singlehtml to make a single large HTML file
24	echo.  pickle     to make pickle files
25	echo.  json       to make JSON files
26	echo.  htmlhelp   to make HTML files and a HTML help project
27	echo.  qthelp     to make HTML files and a qthelp project
28	echo.  devhelp    to make HTML files and a Devhelp project
29	echo.  epub       to make an epub
30	echo.  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter
31	echo.  text       to make text files
32	echo.  man        to make manual pages
33	echo.  texinfo    to make Texinfo files
34	echo.  gettext    to make PO message catalogs
35	echo.  changes    to make an overview over all changed/added/deprecated items
36	echo.  xml        to make Docutils-native XML files
37	echo.  pseudoxml  to make pseudoxml-XML files for display purposes
38	echo.  linkcheck  to check all external links for integrity
39	echo.  doctest    to run all doctests embedded in the documentation if enabled
40	echo.  coverage   to run coverage check of the documentation if enabled
41	goto end
42)
43
44if "%1" == "clean" (
45	for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i
46	del /q /s %BUILDDIR%\*
47	goto end
48)
49
50
51REM Check if sphinx-build is available and fallback to Python version if any
52%SPHINXBUILD% 2> nul
53if errorlevel 9009 goto sphinx_python
54goto sphinx_ok
55
56:sphinx_python
57
58set SPHINXBUILD=python -m sphinx.__init__
59%SPHINXBUILD% 2> nul
60if errorlevel 9009 (
61	echo.
62	echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
63	echo.installed, then set the SPHINXBUILD environment variable to point
64	echo.to the full path of the 'sphinx-build' executable. Alternatively you
65	echo.may add the Sphinx directory to PATH.
66	echo.
67	echo.If you don't have Sphinx installed, grab it from
68	echo.http://sphinx-doc.org/
69	exit /b 1
70)
71
72:sphinx_ok
73
74
75if "%1" == "html" (
76	%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
77	if errorlevel 1 exit /b 1
78	echo.
79	echo.Build finished. The HTML pages are in %BUILDDIR%/html.
80	goto end
81)
82
83if "%1" == "dirhtml" (
84	%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
85	if errorlevel 1 exit /b 1
86	echo.
87	echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
88	goto end
89)
90
91if "%1" == "singlehtml" (
92	%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
93	if errorlevel 1 exit /b 1
94	echo.
95	echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
96	goto end
97)
98
99if "%1" == "pickle" (
100	%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
101	if errorlevel 1 exit /b 1
102	echo.
103	echo.Build finished; now you can process the pickle files.
104	goto end
105)
106
107if "%1" == "json" (
108	%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
109	if errorlevel 1 exit /b 1
110	echo.
111	echo.Build finished; now you can process the JSON files.
112	goto end
113)
114
115if "%1" == "htmlhelp" (
116	%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
117	if errorlevel 1 exit /b 1
118	echo.
119	echo.Build finished; now you can run HTML Help Workshop with the ^
120.hhp project file in %BUILDDIR%/htmlhelp.
121	goto end
122)
123
124if "%1" == "qthelp" (
125	%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
126	if errorlevel 1 exit /b 1
127	echo.
128	echo.Build finished; now you can run "qcollectiongenerator" with the ^
129.qhcp project file in %BUILDDIR%/qthelp, like this:
130	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\devlib.qhcp
131	echo.To view the help file:
132	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\devlib.ghc
133	goto end
134)
135
136if "%1" == "devhelp" (
137	%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
138	if errorlevel 1 exit /b 1
139	echo.
140	echo.Build finished.
141	goto end
142)
143
144if "%1" == "epub" (
145	%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
146	if errorlevel 1 exit /b 1
147	echo.
148	echo.Build finished. The epub file is in %BUILDDIR%/epub.
149	goto end
150)
151
152if "%1" == "latex" (
153	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
154	if errorlevel 1 exit /b 1
155	echo.
156	echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
157	goto end
158)
159
160if "%1" == "latexpdf" (
161	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
162	cd %BUILDDIR%/latex
163	make all-pdf
164	cd %~dp0
165	echo.
166	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
167	goto end
168)
169
170if "%1" == "latexpdfja" (
171	%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
172	cd %BUILDDIR%/latex
173	make all-pdf-ja
174	cd %~dp0
175	echo.
176	echo.Build finished; the PDF files are in %BUILDDIR%/latex.
177	goto end
178)
179
180if "%1" == "text" (
181	%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
182	if errorlevel 1 exit /b 1
183	echo.
184	echo.Build finished. The text files are in %BUILDDIR%/text.
185	goto end
186)
187
188if "%1" == "man" (
189	%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
190	if errorlevel 1 exit /b 1
191	echo.
192	echo.Build finished. The manual pages are in %BUILDDIR%/man.
193	goto end
194)
195
196if "%1" == "texinfo" (
197	%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
198	if errorlevel 1 exit /b 1
199	echo.
200	echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
201	goto end
202)
203
204if "%1" == "gettext" (
205	%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
206	if errorlevel 1 exit /b 1
207	echo.
208	echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
209	goto end
210)
211
212if "%1" == "changes" (
213	%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
214	if errorlevel 1 exit /b 1
215	echo.
216	echo.The overview file is in %BUILDDIR%/changes.
217	goto end
218)
219
220if "%1" == "linkcheck" (
221	%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
222	if errorlevel 1 exit /b 1
223	echo.
224	echo.Link check complete; look for any errors in the above output ^
225or in %BUILDDIR%/linkcheck/output.txt.
226	goto end
227)
228
229if "%1" == "doctest" (
230	%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
231	if errorlevel 1 exit /b 1
232	echo.
233	echo.Testing of doctests in the sources finished, look at the ^
234results in %BUILDDIR%/doctest/output.txt.
235	goto end
236)
237
238if "%1" == "coverage" (
239	%SPHINXBUILD% -b coverage %ALLSPHINXOPTS% %BUILDDIR%/coverage
240	if errorlevel 1 exit /b 1
241	echo.
242	echo.Testing of coverage in the sources finished, look at the ^
243results in %BUILDDIR%/coverage/python.txt.
244	goto end
245)
246
247if "%1" == "xml" (
248	%SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml
249	if errorlevel 1 exit /b 1
250	echo.
251	echo.Build finished. The XML files are in %BUILDDIR%/xml.
252	goto end
253)
254
255if "%1" == "pseudoxml" (
256	%SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml
257	if errorlevel 1 exit /b 1
258	echo.
259	echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml.
260	goto end
261)
262
263:end
264