blob: c9518558bb85b90334a2ef81f233dfbf95f6f5d1 [file] [log] [blame]
Andrew Geisslerc9f78652020-09-18 14:11:35 -05001# Minimal makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line, and also
5# from the environment for the first two.
6SPHINXOPTS ?=
7SPHINXBUILD ?= sphinx-build
8SOURCEDIR = .
9BUILDDIR = _build
10DESTDIR = final
11
Andrew Geisslerc3d88e42020-10-02 09:45:00 -050012ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
13$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
14endif
15
Andrew Geisslerc9f78652020-09-18 14:11:35 -050016# Put it first so that "make" without argument is like "make help".
17help:
18 @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
19
20.PHONY: help Makefile.sphinx clean publish
21
22publish: Makefile.sphinx html singlehtml
23 rm -rf $(BUILDDIR)/$(DESTDIR)/
24 mkdir -p $(BUILDDIR)/$(DESTDIR)/
25 cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
26 cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
27 sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
28
29clean:
30 @rm -rf $(BUILDDIR)
31
32# Catch-all target: route all unknown targets to Sphinx using the new
33# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
34%: Makefile.sphinx
35 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)