33
44# You can set these variables from the command line.
55SPHINXOPTS =
6- SPHINXBUILD = sphinx- build
6+ SPHINXBUILD = python3 -m sphinx.cmd. build
77PAPER =
88BUILDDIR = _build
99
@@ -41,38 +41,48 @@ help:
4141clean :
4242 -rm -rf $(BUILDDIR ) /*
4343
44+ install-sphinx :
45+ python3 -c " import sphinx" > /dev/null 2>&1 || python3 -m pip install sphinx
46+
4447html :
48+ $(MAKE ) install-sphinx
4549 $(SPHINXBUILD ) -b html -W --keep-going $(ALLSPHINXOPTS ) $(BUILDDIR ) /html
4650 @echo
4751 @echo " Build finished. The HTML pages are in $( BUILDDIR) /html."
4852
4953dirhtml :
54+ $(MAKE ) install-sphinx
5055 $(SPHINXBUILD ) -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml
5156 @echo
5257 @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
5358
5459singlehtml :
60+ $(MAKE ) install-sphinx
5561 $(SPHINXBUILD ) -b singlehtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /singlehtml
5662 @echo
5763 @echo " Build finished. The HTML page is in $( BUILDDIR) /singlehtml."
5864
5965pickle :
66+ $(MAKE ) install-sphinx
6067 $(SPHINXBUILD ) -b pickle $(ALLSPHINXOPTS ) $(BUILDDIR ) /pickle
6168 @echo
6269 @echo " Build finished; now you can process the pickle files."
6370
6471json :
72+ $(MAKE ) install-sphinx
6573 $(SPHINXBUILD ) -b json $(ALLSPHINXOPTS ) $(BUILDDIR ) /json
6674 @echo
6775 @echo " Build finished; now you can process the JSON files."
6876
6977htmlhelp :
78+ $(MAKE ) install-sphinx
7079 $(SPHINXBUILD ) -b htmlhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /htmlhelp
7180 @echo
7281 @echo " Build finished; now you can run HTML Help Workshop with the" \
7382 " .hhp project file in $( BUILDDIR) /htmlhelp."
7483
7584qthelp :
85+ $(MAKE ) install-sphinx
7686 $(SPHINXBUILD ) -b qthelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /qthelp
7787 @echo
7888 @echo " Build finished; now you can run " qcollectiongenerator" with the" \
@@ -82,6 +92,7 @@ qthelp:
8292 @echo " # assistant -collectionFile $( BUILDDIR) /qthelp/PillowPILfork.qhc"
8393
8494devhelp :
95+ $(MAKE ) install-sphinx
8596 $(SPHINXBUILD ) -b devhelp $(ALLSPHINXOPTS ) $(BUILDDIR ) /devhelp
8697 @echo
8798 @echo " Build finished."
@@ -91,63 +102,74 @@ devhelp:
91102 @echo " # devhelp"
92103
93104epub :
105+ $(MAKE ) install-sphinx
94106 $(SPHINXBUILD ) -b epub $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub
95107 @echo
96108 @echo " Build finished. The epub file is in $( BUILDDIR) /epub."
97109
98110latex :
111+ $(MAKE ) install-sphinx
99112 $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
100113 @echo
101114 @echo " Build finished; the LaTeX files are in $( BUILDDIR) /latex."
102115 @echo " Run \` make' in that directory to run these through (pdf)latex" \
103116 " (use \` make latexpdf' here to do that automatically)."
104117
105118latexpdf :
119+ $(MAKE ) install-sphinx
106120 $(SPHINXBUILD ) -b latex $(ALLSPHINXOPTS ) $(BUILDDIR ) /latex
107121 @echo " Running LaTeX files through pdflatex..."
108122 $(MAKE ) -C $(BUILDDIR ) /latex all-pdf
109123 @echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex."
110124
111125text :
126+ $(MAKE ) install-sphinx
112127 $(SPHINXBUILD ) -b text $(ALLSPHINXOPTS ) $(BUILDDIR ) /text
113128 @echo
114129 @echo " Build finished. The text files are in $( BUILDDIR) /text."
115130
116131man :
132+ $(MAKE ) install-sphinx
117133 $(SPHINXBUILD ) -b man $(ALLSPHINXOPTS ) $(BUILDDIR ) /man
118134 @echo
119135 @echo " Build finished. The manual pages are in $( BUILDDIR) /man."
120136
121137texinfo :
138+ $(MAKE ) install-sphinx
122139 $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
123140 @echo
124141 @echo " Build finished. The Texinfo files are in $( BUILDDIR) /texinfo."
125142 @echo " Run \` make' in that directory to run these through makeinfo" \
126143 " (use \` make info' here to do that automatically)."
127144
128145info :
146+ $(MAKE ) install-sphinx
129147 $(SPHINXBUILD ) -b texinfo $(ALLSPHINXOPTS ) $(BUILDDIR ) /texinfo
130148 @echo " Running Texinfo files through makeinfo..."
131149 make -C $(BUILDDIR ) /texinfo info
132150 @echo " makeinfo finished; the Info files are in $( BUILDDIR) /texinfo."
133151
134152gettext :
153+ $(MAKE ) install-sphinx
135154 $(SPHINXBUILD ) -b gettext $(I18NSPHINXOPTS ) $(BUILDDIR ) /locale
136155 @echo
137156 @echo " Build finished. The message catalogs are in $( BUILDDIR) /locale."
138157
139158changes :
159+ $(MAKE ) install-sphinx
140160 $(SPHINXBUILD ) -b changes $(ALLSPHINXOPTS ) $(BUILDDIR ) /changes
141161 @echo
142162 @echo " The overview file is in $( BUILDDIR) /changes."
143163
144164linkcheck :
165+ $(MAKE ) install-sphinx
145166 $(SPHINXBUILD ) -b linkcheck $(ALLSPHINXOPTS ) $(BUILDDIR ) /linkcheck -j auto
146167 @echo
147168 @echo " Link check complete; look for any errors in the above output " \
148169 " or in $( BUILDDIR) /linkcheck/output.txt."
149170
150171doctest :
172+ $(MAKE ) install-sphinx
151173 $(SPHINXBUILD ) -b doctest $(ALLSPHINXOPTS ) $(BUILDDIR ) /doctest
152174 @echo " Testing of doctests in the sources finished, look at the " \
153175 " results in $( BUILDDIR) /doctest/output.txt."
0 commit comments