51 lines
1.3 KiB
Makefile
51 lines
1.3 KiB
Makefile
# Builds PEP files to HTML using sphinx
|
|
|
|
PYTHON=python3
|
|
VENVDIR=.venv
|
|
JOBS=8
|
|
OUTPUT_DIR=build
|
|
RENDER_COMMAND=$(VENVDIR)/bin/python3 build.py -j $(JOBS) -o $(OUTPUT_DIR)
|
|
|
|
render: venv
|
|
$(RENDER_COMMAND)
|
|
|
|
pages: venv rss
|
|
$(RENDER_COMMAND) --build-dirs
|
|
|
|
fail-warning: venv
|
|
$(RENDER_COMMAND) --fail-on-warning
|
|
|
|
check-links: venv
|
|
$(RENDER_COMMAND) --check-links
|
|
|
|
rss: venv
|
|
$(VENVDIR)/bin/python3 generate_rss.py
|
|
|
|
clean: clean-venv
|
|
-rm -rf build topic
|
|
|
|
clean-venv:
|
|
rm -rf $(VENVDIR)
|
|
|
|
venv:
|
|
@if [ -d $(VENVDIR) ] ; then \
|
|
echo "venv already exists."; \
|
|
echo "To recreate it, remove it first with \`make clean-venv'."; \
|
|
else \
|
|
$(PYTHON) -m venv $(VENVDIR); \
|
|
$(VENVDIR)/bin/python3 -m pip install -U pip wheel; \
|
|
$(VENVDIR)/bin/python3 -m pip install -r requirements.txt; \
|
|
echo "The venv has been created in the $(VENVDIR) directory"; \
|
|
fi
|
|
|
|
lint: venv
|
|
$(VENVDIR)/bin/python3 -m pre_commit --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install pre-commit
|
|
$(VENVDIR)/bin/python3 -m pre_commit run --all-files
|
|
|
|
test: venv
|
|
$(VENVDIR)/bin/python3 -bb -X dev -W error -m pytest
|
|
|
|
spellcheck: venv
|
|
$(VENVDIR)/bin/python3 -m pre_commit --version > /dev/null || $(VENVDIR)/bin/python3 -m pip install pre-commit
|
|
$(VENVDIR)/bin/python3 -m pre_commit run --all-files --hook-stage manual codespell
|