1 # Minimal makefile for Sphinx documentation
3 # We support MacOS for docs generation
4 ifeq ($(shell uname),Darwin)
8 # Work out the OS if we haven't already
9 OS_ID ?= $(shell grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
11 DOC_DEB_DEPENDS = enchant
12 DOC_RPM_DEPENDS = enchant
14 # You can set these variables from the command line.
16 SPHINXBUILD = sphinx-build
21 # Put it first so that "make" without argument is like "make help".
23 @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
27 # Catch-all target: route all unknown targets to Sphinx using the new
28 # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
30 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
33 @echo "Checking whether dependencies for Docs are installed..."
34 ifeq ($(OS_ID),ubuntu)
36 for i in $(DOC_DEB_DEPENDS); do \
37 dpkg-query --show $$i >/dev/null 2>&1 || inst="$$inst $$i"; \
39 if [ "$$inst" ]; then \
40 sudo apt-get update; \
41 sudo apt-get $(CONFIRM) $(FORCE) install $$inst; \
43 else ifneq ("$(wildcard /etc/redhat-release)","")
44 @sudo yum install $(CONFIRM) $(DOC_RPM_DEPENDS)
46 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" -W -b spelling $(O)