1*62c56f98SSadaf Ebrahimi# Minimal makefile for Sphinx documentation 2*62c56f98SSadaf Ebrahimi# 3*62c56f98SSadaf Ebrahimi 4*62c56f98SSadaf Ebrahimi# You can set these variables from the command line, and also 5*62c56f98SSadaf Ebrahimi# from the environment for the first two. 6*62c56f98SSadaf EbrahimiSPHINXOPTS ?= 7*62c56f98SSadaf EbrahimiSPHINXBUILD ?= sphinx-build 8*62c56f98SSadaf EbrahimiSOURCEDIR = . 9*62c56f98SSadaf EbrahimiBUILDDIR = _build 10*62c56f98SSadaf Ebrahimi 11*62c56f98SSadaf Ebrahimi# Put it first so that "make" without argument is like "make help". 12*62c56f98SSadaf Ebrahimihelp: 13*62c56f98SSadaf Ebrahimi @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14*62c56f98SSadaf Ebrahimi 15*62c56f98SSadaf Ebrahimi.PHONY: help clean apidoc breathe_apidoc Makefile 16*62c56f98SSadaf Ebrahimi 17*62c56f98SSadaf Ebrahimi# Intercept the 'clean' target so we can do the right thing for apidoc as well 18*62c56f98SSadaf Ebrahimiclean: 19*62c56f98SSadaf Ebrahimi @# Clean the apidoc 20*62c56f98SSadaf Ebrahimi $(MAKE) -C .. apidoc_clean 21*62c56f98SSadaf Ebrahimi @# Clean the breathe-apidoc generated files 22*62c56f98SSadaf Ebrahimi rm -rf ./api 23*62c56f98SSadaf Ebrahimi @# Clean the sphinx docs 24*62c56f98SSadaf Ebrahimi @$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 25*62c56f98SSadaf Ebrahimi 26*62c56f98SSadaf Ebrahimiapidoc: 27*62c56f98SSadaf Ebrahimi @# Generate doxygen from source using the main Makefile 28*62c56f98SSadaf Ebrahimi $(MAKE) -C .. apidoc 29*62c56f98SSadaf Ebrahimi 30*62c56f98SSadaf Ebrahimibreathe_apidoc: apidoc 31*62c56f98SSadaf Ebrahimi @# Remove existing files - breathe-apidoc skips them if they're present 32*62c56f98SSadaf Ebrahimi rm -rf ./api 33*62c56f98SSadaf Ebrahimi @# Generate RST file structure with breathe-apidoc 34*62c56f98SSadaf Ebrahimi breathe-apidoc -o ./api ../apidoc/xml 35*62c56f98SSadaf Ebrahimi 36*62c56f98SSadaf Ebrahimi# Catch-all target: route all unknown targets to Sphinx using the new 37*62c56f98SSadaf Ebrahimi# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 38*62c56f98SSadaf Ebrahimi%: Makefile breathe_apidoc 39*62c56f98SSadaf Ebrahimi @# Build the relevant target with sphinx 40*62c56f98SSadaf Ebrahimi @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 41