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