@@ -21,10 +21,7 @@ PAPEROPT_letter = -D latex_elements.papersize=letterpaper
2121ALLSPHINXOPTS = -b $(BUILDER ) -d build/doctrees $(PAPEROPT_$(PAPER ) ) -j auto \
2222 $(SPHINXOPTS ) $(SPHINXERRORHANDLING ) . build/$(BUILDER ) $(SOURCES )
2323
24- .PHONY : help build html htmlhelp latex text texinfo epub changes linkcheck \
25- coverage doctest pydoc-topics htmlview clean clean-venv venv dist check serve \
26- autobuild-dev autobuild-dev-html autobuild-stable autobuild-stable-html
27-
24+ .PHONY : help
2825help :
2926 @echo " Please use \` make <target>' where <target> is one of"
3027 @echo " clean to remove build files"
4441 @echo " dist to create a \" dist\" directory with archived docs for download"
4542 @echo " check to run a check for frequent markup errors"
4643
44+ .PHONY : build
4745build :
4846 -mkdir -p build
4947# Look first for a Misc/NEWS file (building from a source release tarball
@@ -70,70 +68,85 @@ build:
7068 $(SPHINXBUILD) $(ALLSPHINXOPTS)
7169 @echo
7270
71+ .PHONY : html
7372html : BUILDER = html
7473html : build
7574 @echo " Build finished. The HTML pages are in build/html."
7675
76+ .PHONY : htmlhelp
7777htmlhelp : BUILDER = htmlhelp
7878htmlhelp : build
7979 @echo " Build finished; now you can run HTML Help Workshop with the" \
8080 " build/htmlhelp/pydoc.hhp project file."
8181
82+ .PHONY : latex
8283latex : BUILDER = latex
8384latex : build
8485 @echo " Build finished; the LaTeX files are in build/latex."
8586 @echo " Run \` make all-pdf' or \` make all-ps' in that directory to" \
8687 " run these through (pdf)latex."
8788
89+ .PHONY : text
8890text : BUILDER = text
8991text : build
9092 @echo " Build finished; the text files are in build/text."
9193
94+ .PHONY : texinfo
9295texinfo : BUILDER = texinfo
9396texinfo : build
9497 @echo " Build finished; the python.texi file is in build/texinfo."
9598 @echo " Run \` make info' in that directory to run it through makeinfo."
9699
100+ .PHONY : epub
97101epub : BUILDER = epub
98102epub : build
99103 @echo " Build finished; the epub files are in build/epub."
100104
105+ .PHONY : changes
101106changes : BUILDER = changes
102107changes : build
103108 @echo " The overview file is in build/changes."
104109
110+ .PHONY : linkcheck
105111linkcheck : BUILDER = linkcheck
106112linkcheck :
107113 @$(MAKE ) build BUILDER=$(BUILDER ) || { \
108114 echo " Link check complete; look for any errors in the above output" \
109115 " or in build/$( BUILDER) /output.txt" ; \
110116 false ; }
111117
118+ .PHONY : coverage
112119coverage : BUILDER = coverage
113120coverage : build
114121 @echo " Coverage finished; see c.txt and python.txt in build/coverage"
115122
123+ .PHONY : doctest
116124doctest : BUILDER = doctest
117125doctest :
118126 @$(MAKE ) build BUILDER=$(BUILDER ) || { \
119127 echo " Testing of doctests in the sources finished, look at the" \
120128 " results in build/doctest/output.txt" ; \
121129 false ; }
122130
131+ .PHONY : pydoc-topics
123132pydoc-topics : BUILDER = pydoc-topics
124133pydoc-topics : build
125134 @echo " Building finished; now run this:" \
126135 " cp build/pydoc-topics/topics.py ../Lib/pydoc_data/topics.py"
127136
137+ .PHONY : htmlview
128138htmlview : html
129139 $(PYTHON ) -c " import os, webbrowser; webbrowser.open('file://' + os.path.realpath('build/html/index.html'))"
130140
141+ .PHONY : clean
131142clean : clean-venv
132143 -rm -rf build/*
133144
145+ .PHONY : clean-venv
134146clean-venv :
135147 rm -rf $(VENVDIR )
136148
149+ .PHONY : venv
137150venv :
138151 @if [ -d $( VENVDIR) ] ; then \
139152 echo " venv already exists." ; \
@@ -145,6 +158,7 @@ venv:
145158 echo " The venv has been created in the $( VENVDIR) directory" ; \
146159 fi
147160
161+ .PHONY : dist
148162dist :
149163 rm -rf dist
150164 mkdir -p dist
@@ -199,12 +213,14 @@ dist:
199213 rm -r dist/python-$(DISTVERSION)-docs-texinfo
200214 rm dist/python-$(DISTVERSION)-docs-texinfo.tar
201215
216+ .PHONY : check
202217check :
203218 # Check the docs and NEWS files with sphinx-lint.
204219 # Ignore the tools and venv dirs and check that the default role is not used.
205220 $(SPHINXLINT ) -i tools -i $(VENVDIR ) --enable default-role
206221 $(SPHINXLINT ) --enable default-role ../Misc/NEWS.d/next/
207222
223+ .PHONY : serve
208224serve :
209225 @echo " The serve target was removed, use htmlview instead (see bpo-36329)"
210226
@@ -216,22 +232,26 @@ serve:
216232# output files)
217233
218234# for development releases: always build
235+ .PHONY : autobuild-dev
219236autobuild-dev :
220237 make dist SPHINXOPTS=' $(SPHINXOPTS) -Ea -A daily=1'
221238
222239# for quick rebuilds (HTML only)
240+ .PHONY : autobuild-dev-html
223241autobuild-dev-html :
224242 make html SPHINXOPTS=' $(SPHINXOPTS) -Ea -A daily=1'
225243
226244# for stable releases: only build if not in pre-release stage (alpha, beta)
227245# release candidate downloads are okay, since the stable tree can be in that stage
246+ .PHONY : autobuild-stable
228247autobuild-stable :
229248 @case $(DISTVERSION ) in * [ab]* ) \
230249 echo " Not building; $( DISTVERSION) is not a release version." ; \
231250 exit 1;; \
232251 esac
233252 @make autobuild-dev
234253
254+ .PHONY : autobuild-stable-html
235255autobuild-stable-html :
236256 @case $(DISTVERSION ) in * [ab]* ) \
237257 echo " Not building; $( DISTVERSION) is not a release version." ; \
0 commit comments