| # 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) |