Infra: Remove GNU make-specific directive from Makefile (#3891)
* Remove GNU make-specific directive from Makefile * Remove deprecated 'make check-links'
This commit is contained in:
parent
81c5900f25
commit
de536ac430
38
Makefile
38
Makefile
|
@ -3,12 +3,14 @@
|
||||||
# You can set these variables from the command line.
|
# You can set these variables from the command line.
|
||||||
PYTHON = python3
|
PYTHON = python3
|
||||||
VENVDIR = .venv
|
VENVDIR = .venv
|
||||||
|
UV = uv
|
||||||
# synchronise with render.yml -> deploy step
|
# synchronise with render.yml -> deploy step
|
||||||
BUILDDIR = build
|
BUILDDIR = build
|
||||||
SPHINXBUILD = PATH=$(VENVDIR)/bin:$$PATH sphinx-build
|
SPHINXBUILD = PATH=$(VENVDIR)/bin:$$PATH sphinx-build
|
||||||
BUILDER = html
|
BUILDER = html
|
||||||
JOBS = auto
|
JOBS = auto
|
||||||
SOURCES =
|
SOURCES =
|
||||||
|
REQUIREMENTS = requirements.txt
|
||||||
SPHINXERRORHANDLING = --fail-on-warning --keep-going --warning-file sphinx-warnings.txt
|
SPHINXERRORHANDLING = --fail-on-warning --keep-going --warning-file sphinx-warnings.txt
|
||||||
|
|
||||||
ALLSPHINXOPTS = --builder $(BUILDER) \
|
ALLSPHINXOPTS = --builder $(BUILDER) \
|
||||||
|
@ -36,7 +38,7 @@ htmllive: SPHINXBUILD = $(VENVDIR)/bin/sphinx-autobuild
|
||||||
# Arbitrarily selected ephemeral port between 49152–65535
|
# Arbitrarily selected ephemeral port between 49152–65535
|
||||||
# to avoid conflicts with other processes:
|
# to avoid conflicts with other processes:
|
||||||
htmllive: SPHINXERRORHANDLING = --re-ignore="/\.idea/|/venv/|/pep-0000.rst|/topic/" --open-browser --delay 0 --port 55302
|
htmllive: SPHINXERRORHANDLING = --re-ignore="/\.idea/|/venv/|/pep-0000.rst|/topic/" --open-browser --delay 0 --port 55302
|
||||||
htmllive: ensure-sphinx-autobuild html
|
htmllive: _ensure-sphinx-autobuild html
|
||||||
|
|
||||||
## dirhtml to render PEPs to "index.html" files within "pep-NNNN" directories
|
## dirhtml to render PEPs to "index.html" files within "pep-NNNN" directories
|
||||||
.PHONY: dirhtml
|
.PHONY: dirhtml
|
||||||
|
@ -48,11 +50,6 @@ dirhtml: html
|
||||||
linkcheck: BUILDER = linkcheck
|
linkcheck: BUILDER = linkcheck
|
||||||
linkcheck: html
|
linkcheck: html
|
||||||
|
|
||||||
## check-links (deprecated: use 'make linkcheck' alias instead)
|
|
||||||
.PHONY: pages
|
|
||||||
check-links: linkcheck
|
|
||||||
@echo "\033[0;33mWarning:\033[0;31m 'make check-links' \033[0;33mis deprecated, use\033[0;32m 'make linkcheck' \033[0;33malias instead\033[0m"
|
|
||||||
|
|
||||||
## clean to remove the venv and build files
|
## clean to remove the venv and build files
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean: clean-venv
|
clean: clean-venv
|
||||||
|
@ -71,29 +68,36 @@ venv:
|
||||||
echo "To recreate it, remove it first with \`make clean-venv'."; \
|
echo "To recreate it, remove it first with \`make clean-venv'."; \
|
||||||
else \
|
else \
|
||||||
echo "Creating venv in $(VENVDIR)"; \
|
echo "Creating venv in $(VENVDIR)"; \
|
||||||
if uv --version > /dev/null; then \
|
if $(UV) --version >/dev/null 2>&1; then \
|
||||||
uv venv $(VENVDIR); \
|
$(UV) venv $(VENVDIR); \
|
||||||
VIRTUAL_ENV=$(VENVDIR) uv pip install -r requirements.txt; \
|
VIRTUAL_ENV=$(VENVDIR) $(UV) pip install -r $(REQUIREMENTS); \
|
||||||
else \
|
else \
|
||||||
$(PYTHON) -m venv $(VENVDIR); \
|
$(PYTHON) -m venv $(VENVDIR); \
|
||||||
$(VENVDIR)/bin/python3 -m pip install --upgrade pip; \
|
$(VENVDIR)/bin/python3 -m pip install --upgrade pip; \
|
||||||
$(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \
|
$(VENVDIR)/bin/python3 -m pip install -r $(REQUIREMENTS); \
|
||||||
fi; \
|
fi; \
|
||||||
echo "The venv has been created in the $(VENVDIR) directory"; \
|
echo "The venv has been created in the $(VENVDIR) directory"; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
define ensure_package
|
.PHONY: _ensure-package
|
||||||
if uv --version > /dev/null; then \
|
_ensure-package: venv
|
||||||
$(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || VIRTUAL_ENV=$(VENVDIR) uv pip install $(1); \
|
if $(UV) --version >/dev/null 2>&1; then \
|
||||||
|
VIRTUAL_ENV=$(VENVDIR) $(UV) pip install $(PACKAGE); \
|
||||||
else \
|
else \
|
||||||
$(VENVDIR)/bin/python3 -m $(1) --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install $(1); \
|
$(VENVDIR)/bin/python3 -m pip install $(PACKAGE); \
|
||||||
fi
|
fi
|
||||||
endef
|
|
||||||
|
.PHONY: _ensure-pre-commit
|
||||||
|
_ensure-pre-commit:
|
||||||
|
make _ensure-package PACKAGE=pre-commit
|
||||||
|
|
||||||
|
.PHONY: _ensure-sphinx-autobuild
|
||||||
|
_ensure-sphinx-autobuild:
|
||||||
|
make _ensure-package PACKAGE=sphinx-autobuild
|
||||||
|
|
||||||
## lint to lint all the files
|
## lint to lint all the files
|
||||||
.PHONY: lint
|
.PHONY: lint
|
||||||
lint: venv
|
lint: _ensure-pre-commit
|
||||||
$(call ensure_package,pre_commit)
|
|
||||||
$(VENVDIR)/bin/python3 -m pre_commit run --all-files
|
$(VENVDIR)/bin/python3 -m pre_commit run --all-files
|
||||||
|
|
||||||
## test to test the Sphinx extensions for PEPs
|
## test to test the Sphinx extensions for PEPs
|
||||||
|
|
Loading…
Reference in New Issue