# Minimal makefile for Sphinx documentation # # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help clean apidoc breathe_apidoc Makefile # Intercept the 'clean' target so we can do the right thing for apidoc as well clean: @# Clean the apidoc $(MAKE) -C .. apidoc_clean @# Clean the breathe-apidoc generated files rm -rf ./api @# Clean the sphinx docs @$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) apidoc: @# Generate doxygen from source using the main Makefile $(MAKE) -C .. apidoc breathe_apidoc: apidoc @# Remove existing files - breathe-apidoc skips them if they're present rm -rf ./api @# Generate RST file structure with breathe-apidoc breathe-apidoc -o ./api ../apidoc/xml # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile breathe_apidoc @# Build the relevant target with sphinx @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)