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 libenchant-dev
12 DOC_RPM_DEPENDS = enchant libenchant-dev
15 # You can set these variables from the command line.
17 SPHINXBUILD = sphinx-build
22 # Put it first so that "make" without argument is like "make help".
24 @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
28 # Catch-all target: route all unknown targets to Sphinx using the new
29 # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
31 @echo "Checking whether dependencies for Docs are installed..."
32 ifeq ($(OS_ID),ubuntu)
34 for i in $(DOC_DEB_DEPENDS); do \
35 dpkg-query --show $$i >/dev/null 2>&1 || inst="$$inst $$i"; \
37 if [ "$$inst" ]; then \
38 sudo apt-get update; \
39 sudo apt-get $(CONFIRM) $(FORCE) install $$inst; \
41 else ifneq ("$(wildcard /etc/redhat-release)","")
42 @sudo yum install $(CONFIRM) $(DOC_RPM_DEPENDS)
44 # Disable spell checking for now
45 # @python3 -m pip install sphinxcontrib-spelling
46 # @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" -W -b spelling $(O)
47 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)