@@ -43,19 +43,17 @@ SPHINX_CONF := $(CPYTHON_CLONE)/Doc/conf.py
43
43
LANGUAGE := zh_TW
44
44
LC_MESSAGES := $(CPYTHON_CLONE ) /Doc/locales/$(LANGUAGE ) /LC_MESSAGES
45
45
VENV := ~/.venvs/python-docs-i18n/
46
- PYTHON := $(shell which python3)
47
46
MODE := autobuild-dev-html
48
47
JOBS := 4
49
48
50
49
.PHONY : all
51
- all : $(VENV ) /bin/sphinx-build $(VENV ) /bin/blurb clone # # Automatically build an html local version
52
- mkdir -p $(LC_MESSAGES )
50
+ all : prepare_deps # # Automatically build an html local version
53
51
for dirname in $$ (find . -name ' *.po' | xargs -n1 dirname | sort -u | grep -v ' ^\.$$' ); do mkdir -p $( LC_MESSAGES) /$$ dirname; done
54
52
for file in * .po * /* .po; do ln -f $$ file $( LC_MESSAGES) /$$ file; done
55
53
. $(VENV ) /bin/activate; $(MAKE ) -C $(CPYTHON_CLONE ) /Doc/ SPHINXOPTS=' -j$(JOBS) -D locale_dirs=locales -D language=$(LANGUAGE) -D gettext_compact=0' $(MODE )
56
54
57
55
.PHONY : build
58
- build : $( VENV ) /bin/sphinx-build $( VENV ) /bin/blurb clone # # Automatically build an html local version for a single file
56
+ build : prepare_deps # # Automatically build an html local version for a single file
59
57
@$(eval target=$(filter-out $@ ,$(MAKECMDGOALS ) ) )
60
58
@if [ -z $( target) ]; then \
61
59
echo " \x1B[1;31m" " Please provide a file argument." " \x1B[m" ; \
@@ -80,15 +78,18 @@ build: $(VENV)/bin/sphinx-build $(VENV)/bin/blurb clone ## Automatically build a
80
78
help :
81
79
@python3 -c " $$ PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST )
82
80
83
- clone : # # Clone latest cpython repository to `../cpython/` if it doesn't exist
81
+ .PHONY : prepare_deps
82
+ prepare_deps : $(VENV ) /bin/sphinx-build $(VENV ) /bin/blurb upgrade_venv prepare_cpython # # Prepare dependencies
83
+
84
+ .PHONY : prepare_cpython
85
+ prepare_cpython : # # Prepare CPython clone at `../cpython/`.
84
86
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git $(CPYTHON_CLONE ) || echo " cpython exists"
85
- cd $(CPYTHON_CLONE ) && git checkout $(VERSION )
87
+ cd $(CPYTHON_CLONE ) && git checkout $(VERSION ) && git pull origin $(VERSION )
88
+ mkdir -p $(LC_MESSAGES )
86
89
87
90
88
91
$(VENV ) /bin/activate :
89
- mkdir -p $(VENV )
90
- $(PYTHON ) -m venv $(VENV )
91
-
92
+ python3 -m venv $(VENV )
92
93
93
94
$(VENV ) /bin/sphinx-build : $(VENV ) /bin/activate
94
95
. $(VENV ) /bin/activate; python3 -m pip install sphinx python-docs-theme
@@ -102,7 +103,7 @@ $(VENV)/bin/blurb: $(VENV)/bin/activate
102
103
103
104
.PHONY : upgrade_venv
104
105
upgrade_venv : $(VENV ) /bin/activate # # Upgrade the venv that compiles the doc
105
- . $(VENV ) /bin/activate; python3 -m pip install --upgrade sphinx python-docs-theme blurb sphinx-lint
106
+ @ . $(VENV ) /bin/activate; python3 -m pip install -q --upgrade sphinx python-docs-theme blurb sphinx-lint
106
107
107
108
108
109
.PHONY : progress
@@ -118,7 +119,7 @@ todo: ## List remaining tasks
118
119
119
120
120
121
.PHONY : merge
121
- merge : upgrade_venv # # To merge pot from upstream
122
+ merge : prepare_deps # # To merge pot from upstream
122
123
(cd $( CPYTHON_CLONE) /Doc; rm -f build/NEWS)
123
124
(cd $( CPYTHON_CLONE) /Doc; $( VENV) /bin/sphinx-build -Q -b gettext -D gettext_compact=0 . locales/pot/)
124
125
find $(CPYTHON_CLONE ) /Doc/locales/pot/ -name ' *.pot' | \
0 commit comments