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
|
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
PYTHON = python3
SPHINXBUILD = $(PYTHON) -m sphinx.cmd.build
SPHINXOPTS = --keep-going
BUILDDIR = _build
BUILDER = html
JOBS = auto
PAPER =
# Internal variables.
PAPEROPT_a4 = --define latex_paper_size=a4
PAPEROPT_letter = --define latex_paper_size=letter
ALLSPHINXOPTS = --builder $(BUILDER) \
--doctree-dir $(BUILDDIR)/doctrees \
--jobs $(JOBS) \
$(PAPEROPT_$(PAPER)) \
$(SPHINXOPTS) \
. $(BUILDDIR)/$(BUILDER)
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " htmlview to open the index page built by the html target in your browser"
@echo " htmllive to rebuild and reload HTML files in your browser"
@echo " serve to start a local server for viewing docs"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " linkcheck to check all external links for integrity"
.PHONY: clean
clean:
-rm -rf $(BUILDDIR)/*
install-sphinx:
: $(PYTHON) -m pip install -e ..[docs]
.PHONY: html
html:
$(MAKE) install-sphinx
$(SPHINXBUILD) $(ALLSPHINXOPTS)
.PHONY: dirhtml
dirhtml: BUILDER = dirhtml
dirhtml: html
.PHONY: singlehtml
singlehtml: BUILDER = singlehtml
singlehtml: html
.PHONY: linkcheck
linkcheck: BUILDER = linkcheck
linkcheck: html
.PHONY: htmlview
htmlview: html
$(PYTHON) -c "import os, webbrowser; webbrowser.open('file://' + os.path.realpath('$(BUILDDIR)/html/index.html'))"
.PHONY: htmllive
htmllive: SPHINXBUILD = $(PYTHON) -m sphinx_autobuild
htmllive: SPHINXOPTS = --open-browser --delay 0
htmllive: html
.PHONY: serve
serve:
cd $(BUILDDIR)/html; $(PYTHON) -m http.server
|