-
Notifications
You must be signed in to change notification settings - Fork 23
/
Makefile
47 lines (36 loc) · 1.19 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
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Install dependencies.
install:
@pip install --upgrade pip
@pip install -r requirements.txt --use-deprecated=legacy-resolver
test:
@${MAKE} lint
@${MAKE} spellcheck
@${MAKE} test-build
lint: # requires Node and NPM to be installed
@npx --yes markdownlint-cli "**/*.md"
spellcheck: # check for spelling errors
@codespell
test-build:
@${MAKE} dummy SPHINXOPTS="--quiet --fail-on-warning"
format: # requires Node and NPM to be installed
@npx --yes markdownlint-cli --fix "**/*.md"
@codespell --write-changes
# Serve the documentation in dev mode.
dev:
@rm -Rf $(BUILDDIR)
@sphinx-autobuild $(SOURCEDIR) $(BUILDDIR)
# Serve the documentation in prod mode.
prod:
@python -m http.server 8000 --directory build/html
# Catch-all target: route all unknown targets to Sphinx using the
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)