11# You can set these variables from the command line.
2- POETRY = $( HOME ) /.poetry/bin/ poetry
3- SPHINXOPTS =
2+ POETRY = poetry
3+ SPHINXOPTS = -j auto
44SPHINXBUILD = $(POETRY ) run sphinx-build
55PAPER =
66BUILDDIR = _build
7- SOURCE_DIR = _source
7+ SOURCEDIR = _source
88
9- # Internal variables.
9+ # Internal variables
1010PAPEROPT_a4 = -D latex_paper_size=a4
1111PAPEROPT_letter = -D latex_paper_size=letter
12- ALLSPHINXOPTS = -d $(BUILDDIR ) /doctrees $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) $(SOURCE_DIR )
12+ ALLSPHINXOPTS = -d $(BUILDDIR ) /doctrees $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) $(SOURCEDIR )
1313TESTSPHINXOPTS = $(ALLSPHINXOPTS ) -W --keep-going
14-
15- # the i18n builder cannot share the environment and doctrees with the others
16- I18NSPHINXOPTS = $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) .
14+ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER ) ) $(SPHINXOPTS ) $(SOURCEDIR )
1715
1816.PHONY : all
1917all : dirhtml
2018
19+ # Setup commands
20+ .PHONY : setupenv
21+ setupenv :
22+ pip install -q poetry
23+
24+ .PHONY : setup
25+ setup :
26+ $(POETRY ) install
27+ @if [ ! -d " $( SOURCEDIR) " ]; then mkdir -p " $( SOURCEDIR) " ; fi
28+ cp -RL source/* $(SOURCEDIR )
29+ cd $(SOURCEDIR ) && find . -name README.md -execdir mv ' {}' index.md ' ;'
30+
31+ .PHONY : update
32+ update :
33+ $(POETRY ) update
34+
35+ # Clean commands
2136.PHONY : pristine
2237pristine : clean
2338 git clean -dfX
2439
25- .PHONY : setup
26- setup :
27- ./_utils/setup.sh
28- cp -TLr source $(SOURCE_DIR )
29- cd $(SOURCE_DIR ) && find . -name README.md -execdir mv ' {}' index.md ' ;'
3040.PHONY : clean
3141clean :
3242 rm -rf $(BUILDDIR ) /*
33- rm -rf $(SOURCE_DIR ) /*
34-
35- .PHONY : preview
36- preview : setup
37- cd .. && ./docs/_utils/javadoc.sh
38- $(POETRY ) run sphinx-autobuild -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml --port 5500
43+ rm -rf $(SOURCEDIR ) /*
44+ rm -f poetry.lock
3945
46+ # Generate output commands
4047.PHONY : dirhtml
4148dirhtml : setup
49+ @$(javadoc )
4250 $(SPHINXBUILD ) -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml
4351 @echo
4452 @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
4553
46- .PHONY : singlehtml
47- singlehtml : setup
48- $( SPHINXBUILD ) -b singlehtml $( ALLSPHINXOPTS ) $( BUILDDIR ) /singlehtml
54+ .PHONY : javadoc
55+ javadoc : setup
56+ cd .. && ./docs/_utils/javadoc.sh
4957 @echo
5058 @echo " Build finished. The HTML page is in $( BUILDDIR) /singlehtml."
5159
60+ .PHONY : multiversion
61+ multiversion : setup
62+ $(POETRY ) run ./_utils/multiversion.sh
63+ @echo
64+ @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
65+
5266.PHONY : epub
53- epub : setup
67+ epub : setup
5468 $(SPHINXBUILD ) -b epub $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub
5569 @echo
5670 @echo " Build finished. The epub file is in $( BUILDDIR) /epub."
5771
5872.PHONY : epub3
59- epub3 : setup
73+ epub3 :setup
6074 $(SPHINXBUILD ) -b epub3 $(ALLSPHINXOPTS ) $(BUILDDIR ) /epub3
6175 @echo
6276 @echo " Build finished. The epub3 file is in $( BUILDDIR) /epub3."
6377
6478.PHONY : dummy
65- dummy : setup
79+ dummy : setup
6680 $(SPHINXBUILD ) -b dummy $(ALLSPHINXOPTS ) $(BUILDDIR ) /dummy
6781 @echo
6882 @echo " Build finished. Dummy builder generates no files."
6983
70- .PHONY : linkcheck
71- linkcheck : setup
72- $(SPHINXBUILD ) -b linkcheck $(SOURCE_DIR ) $(BUILDDIR ) /linkcheck
73-
74- .PHONY : multiversion
75- multiversion : setup
76- @mkdir -p $(HOME ) /.cache/pypoetry/virtualenvs
77- $(POETRY ) run ./_utils/multiversion.sh
78- @echo
79- @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
84+ # Preview commands
85+ .PHONY : preview
86+ preview : setup
87+ $(POETRY ) run sphinx-autobuild -b dirhtml $(ALLSPHINXOPTS ) $(BUILDDIR ) /dirhtml --port 5500 --re-ignore ' api/*'
8088
8189.PHONY : multiversionpreview
8290multiversionpreview : multiversion
83- $(POETRY ) run python3 -m http.server 5500 --directory $(BUILDDIR ) /dirhtml
91+ $(POETRY ) run python -m http.server 5500 --directory $(BUILDDIR ) /dirhtml
92+
93+ .PHONY : redirects
94+ redirects : setup
95+ $(POETRY ) run redirects-cli fromfile --yaml-file _utils/redirects.yaml --output-dir $(BUILDDIR ) /dirhtml
96+ @echo
97+ @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
8498
99+ # Test commands
85100.PHONY : test
86101test : setup
87102 $(SPHINXBUILD ) -b dirhtml $(TESTSPHINXOPTS ) $(BUILDDIR ) /dirhtml
88103 @echo
89- @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
104+ @echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml."
105+
106+ .PHONY : linkcheck
107+ linkcheck : setup
108+ $(SPHINXBUILD ) -b linkcheck $(SOURCEDIR ) $(BUILDDIR ) /linkcheck
0 commit comments