diff options
| author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2021-07-28 13:40:18 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-28 13:40:18 (GMT) |
| commit | fd2c2465d49a8bcb32eeda82d694eed48e57ba79 (patch) | |
| tree | 8bf49e4a11bcfe607a554ee0253dd1ed380f2383 | |
| parent | c48720576d63f9a7de15a6e46b07262dd3d04a8d (diff) | |
| download | cpython-fd2c2465d49a8bcb32eeda82d694eed48e57ba79.zip cpython-fd2c2465d49a8bcb32eeda82d694eed48e57ba79.tar.gz cpython-fd2c2465d49a8bcb32eeda82d694eed48e57ba79.tar.bz2 | |
bpo-44756: in ./Doc, `make build` depends on `make html` (GH-27403) (GH-27411)
- venv rule is now conditional, and only does anything if $VENVDIR does not exist
- add rule "clean-venv"
(cherry picked from commit d22c876d5ac5fa464337d2e82654b8d87a83cb1b)
Co-authored-by: Jack DeVries <58614260+jdevries3133@users.noreply.github.com>
| -rw-r--r-- | Doc/Makefile | 21 | ||||
| -rw-r--r-- | Doc/README.rst | 22 | ||||
| -rw-r--r-- | Misc/NEWS.d/next/Tools-Demos/2021-07-28-00-51-55.bpo-44756.pvAajB.rst | 6 |
3 files changed, 29 insertions, 20 deletions
diff --git a/Doc/Makefile b/Doc/Makefile index f653d70..18ca07a 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -45,7 +45,7 @@ help: @echo " check to run a check for frequent markup errors" @echo " serve to serve the documentation on the localhost (8000)" -build: +build: venv -mkdir -p build # Look first for a Misc/NEWS file (building from a source release tarball # or old repo) and use that, otherwise look for a Misc/NEWS.d directory @@ -137,14 +137,21 @@ pydoc-topics: build htmlview: html $(PYTHON) -c "import webbrowser; webbrowser.open('build/html/index.html')" -clean: - -rm -rf build/* $(VENVDIR)/* +clean: clean-venv + -rm -rf build/* + +clean-venv: + rm -rf $(VENVDIR) venv: - $(PYTHON) -m venv $(VENVDIR) - $(VENVDIR)/bin/python3 -m pip install -U pip setuptools - $(VENVDIR)/bin/python3 -m pip install -r requirements.txt - @echo "The venv has been created in the $(VENVDIR) directory" + @if [ -d $(VENVDIR) ] ; then \ + echo "venv already exists"; \ + else \ + $(PYTHON) -m venv $(VENVDIR); \ + $(VENVDIR)/bin/python3 -m pip install -U pip setuptools; \ + $(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \ + echo "The venv has been created in the $(VENVDIR) directory"; \ + fi dist: rm -rf dist diff --git a/Doc/README.rst b/Doc/README.rst index 380ea4f..20c0432 100644 --- a/Doc/README.rst +++ b/Doc/README.rst @@ -28,28 +28,24 @@ install the tools into there. Using make ---------- -To get started on UNIX, you can create a virtual environment with the command :: - - make venv - -That will install all the tools necessary to build the documentation. Assuming -the virtual environment was created in the ``venv`` directory (the default; -configurable with the VENVDIR variable), you can run the following command to -build the HTML output files:: +To get started on UNIX, you can create a virtual environment and build +documentation with the command:: make html -By default, if the virtual environment is not created, the Makefile will -look for instances of sphinxbuild and blurb installed on your process PATH -(configurable with the SPHINXBUILD and BLURB variables). +The virtual environment in the ``venv`` directory will contain all the tools +necessary to build the documentation. You can also configure where the virtual +environment directory will be with the ``VENVDIR`` variable. On Windows, we try to emulate the Makefile as closely as possible with a ``make.bat`` file. If you need to specify the Python interpreter to use, -set the PYTHON environment variable instead. +set the PYTHON environment variable. Available make targets are: -* "clean", which removes all build files. +* "clean", which removes all build files and the virtual environment. + +* "clean-venv", which removes the virtual environment directory. * "venv", which creates a virtual environment with all necessary tools installed. diff --git a/Misc/NEWS.d/next/Tools-Demos/2021-07-28-00-51-55.bpo-44756.pvAajB.rst b/Misc/NEWS.d/next/Tools-Demos/2021-07-28-00-51-55.bpo-44756.pvAajB.rst new file mode 100644 index 0000000..4734f1f --- /dev/null +++ b/Misc/NEWS.d/next/Tools-Demos/2021-07-28-00-51-55.bpo-44756.pvAajB.rst @@ -0,0 +1,6 @@ +In the Makefile for documentation (:file:`Doc/Makefile`), the ``build`` rule +is dependent on the ``venv`` rule. Therefore, ``html``, ``latex``, and other +build-dependent rules are also now dependent on ``venv``. The ``venv`` rule +only performs an action if ``$(VENVDIR)`` does not exist. +:file:`Doc/README.rst` was updated; most users now only need to type ``make +html``. |
