forked from python/peps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
81 lines (56 loc) · 1.58 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Builds PEP files to HTML using docutils or sphinx
# Also contains testing targets
PEP2HTML=pep2html.py
PYTHON=python3
VENV_DIR=venv
.SUFFIXES: .txt .html .rst
.txt.html:
@$(PYTHON) $(PEP2HTML) $<
.rst.html:
@$(PYTHON) $(PEP2HTML) $<
TARGETS= $(patsubst %.rst,%.html,$(wildcard pep-????.rst)) $(patsubst %.txt,%.html,$(wildcard pep-????.txt)) pep-0000.html
all: pep-0000.rst $(TARGETS)
$(TARGETS): pep2html.py
pep-0000.rst: $(wildcard pep-????.txt) $(wildcard pep-????.rst) $(wildcard pep0/*.py) genpepindex.py
$(PYTHON) genpepindex.py .
rss:
$(PYTHON) pep2rss.py .
install:
echo "Installing is not necessary anymore. It will be done in post-commit."
clean:
-rm pep-0000.rst
-rm *.html
-rm -rf build
update:
git pull https://github.com/python/peps.git
venv:
$(PYTHON) -m venv $(VENV_DIR)
./$(VENV_DIR)/bin/python -m pip install -r requirements.txt
package: all rss
mkdir -p build/peps
cp pep-*.txt build/peps/
cp pep-*.rst build/peps/
cp *.html build/peps/
cp *.png build/peps/
cp *.rss build/peps/
tar -C build -czf build/peps.tar.gz peps
lint:
pre-commit --version > /dev/null || python3 -m pip install pre-commit
pre-commit run --all-files
# New Sphinx targets:
SPHINX_JOBS=8
SPHINX_BUILD=$(PYTHON) build.py -j $(SPHINX_JOBS)
# TODO replace `rss:` with this when merged & tested
pep_rss:
$(PYTHON) pep_rss_gen.py
pages: pep_rss
$(SPHINX_BUILD) --index-file
sphinx:
$(SPHINX_BUILD)
# for building Sphinx without a web-server
sphinx-local:
$(SPHINX_BUILD) --build-files
fail-warning:
$(SPHINX_BUILD) --fail-on-warning
check-links:
$(SPHINX_BUILD) --check-links