• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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# User-friendly check for sphinx-build
11ifeq ($(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/)
13endif
14
15# Internal variables.
16PAPEROPT_a4     = -D latex_paper_size=a4
17PAPEROPT_letter = -D latex_paper_size=letter
18ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
19# the i18n builder cannot share the environment and doctrees with the others
20I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source
21
22.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext
23
24help:
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
51clean:
52	rm -rf $(BUILDDIR)/*
53
54html:
55	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
56	@echo
57	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
58
59dirhtml:
60	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
61	@echo
62	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
63
64singlehtml:
65	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
66	@echo
67	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
68
69pickle:
70	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
71	@echo
72	@echo "Build finished; now you can process the pickle files."
73
74json:
75	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
76	@echo
77	@echo "Build finished; now you can process the JSON files."
78
79htmlhelp:
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
85qthelp:
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/PyASN1.qhcp"
91	@echo "To view the help file:"
92	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/PyASN1.qhc"
93
94applehelp:
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
102devhelp:
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/PyASN1"
108	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/PyASN1"
109	@echo "# devhelp"
110
111epub:
112	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
113	@echo
114	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
115
116latex:
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
123latexpdf:
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
129latexpdfja:
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
135text:
136	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
137	@echo
138	@echo "Build finished. The text files are in $(BUILDDIR)/text."
139
140man:
141	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
142	@echo
143	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
144
145texinfo:
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
152info:
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
158gettext:
159	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
160	@echo
161	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
162
163changes:
164	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
165	@echo
166	@echo "The overview file is in $(BUILDDIR)/changes."
167
168linkcheck:
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
174doctest:
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
179coverage:
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."
183
184xml:
185	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
186	@echo
187	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
188
189pseudoxml:
190	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
191	@echo
192	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
193