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