Skip to content

Commit 969620d

Browse files
authored
Docs: Move .PHONY to each section to avoid copy/paste omissions (#99396)
1 parent 2653b82 commit 969620d

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

Doc/Makefile

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,7 @@ PAPEROPT_letter = -D latex_elements.papersize=letterpaper
2121
ALLSPHINXOPTS = -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
2825
help:
2926
@echo "Please use \`make <target>' where <target> is one of"
3027
@echo " clean to remove build files"
@@ -44,6 +41,7 @@ help:
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
4745
build:
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
7372
html: BUILDER = html
7473
html: build
7574
@echo "Build finished. The HTML pages are in build/html."
7675

76+
.PHONY: htmlhelp
7777
htmlhelp: BUILDER = htmlhelp
7878
htmlhelp: 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
8283
latex: BUILDER = latex
8384
latex: 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
8890
text: BUILDER = text
8991
text: build
9092
@echo "Build finished; the text files are in build/text."
9193

94+
.PHONY: texinfo
9295
texinfo: BUILDER = texinfo
9396
texinfo: 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
97101
epub: BUILDER = epub
98102
epub: build
99103
@echo "Build finished; the epub files are in build/epub."
100104

105+
.PHONY: changes
101106
changes: BUILDER = changes
102107
changes: build
103108
@echo "The overview file is in build/changes."
104109

110+
.PHONY: linkcheck
105111
linkcheck: BUILDER = linkcheck
106112
linkcheck:
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
112119
coverage: BUILDER = coverage
113120
coverage: build
114121
@echo "Coverage finished; see c.txt and python.txt in build/coverage"
115122

123+
.PHONY: doctest
116124
doctest: BUILDER = doctest
117125
doctest:
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
123132
pydoc-topics: BUILDER = pydoc-topics
124133
pydoc-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
128138
htmlview: html
129139
$(PYTHON) -c "import os, webbrowser; webbrowser.open('file://' + os.path.realpath('build/html/index.html'))"
130140

141+
.PHONY: clean
131142
clean: clean-venv
132143
-rm -rf build/*
133144

145+
.PHONY: clean-venv
134146
clean-venv:
135147
rm -rf $(VENVDIR)
136148

149+
.PHONY: venv
137150
venv:
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
148162
dist:
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
202217
check:
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
208224
serve:
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
219236
autobuild-dev:
220237
make dist SPHINXOPTS='$(SPHINXOPTS) -Ea -A daily=1'
221238

222239
# for quick rebuilds (HTML only)
240+
.PHONY: autobuild-dev-html
223241
autobuild-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
228247
autobuild-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
235255
autobuild-stable-html:
236256
@case $(DISTVERSION) in *[ab]*) \
237257
echo "Not building; $(DISTVERSION) is not a release version."; \

0 commit comments

Comments
 (0)