1# Minimal makefile for Sphinx documentation 2# 3 4# You can set these variables from the command line. 5SPHINXOPTS = 6SPHINXBUILD = sphinx-build 7SPHINXPROJ = simple-bw-scanner 8SOURCEDIR = source 9BUILDDIR = build 10# generate SVG 11IMAGEDIRS = $(SOURCEDIR)/images 12BUILDDIRIMAGES = $(BUILDDIR)/html/_images 13PYREVERSE = pyreverse 14PYREVERSE_FLAGS = -o svg -p sbws ../sbws 15UMLSVG := $(PYREVERSE) $(PYREVERSE_FLAGS);mv *.svg $(IMAGEDIRS);mkdir -p $(BUILDDIRIMAGES);cp $(IMAGEDIRS)/*.svg $(BUILDDIRIMAGES) 16PLANTUML := plantuml 17PLANTUML_CMD := $(PLANTUML) -tsvg -o ../$(IMAGEDIRS) $(SOURCEDIR)/*.puml 18 19# Put it first so that "make" without argument is like "make help". 20help: 21 @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 22 23.PHONY: help Makefile 24 25umlsvg: 26 @echo "Generating UML SVG" 27 $(UMLSVG) 28 29plantuml: 30 @echo "Generating plantuml .svg files." 31 $(PLANTUML_CMD) 32 33# Catch-all target: route all unknown targets to Sphinx using the new 34# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 35%: Makefile 36 # commented because if system packages invoke make html, it'll automatically 37 # recreate the svg on every build, and it's not deterministic. 38 #$(UMLSVG) 39 @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 40