diff --git a/Makefile.sphinx b/Makefile.sphinx index 139c6f1..937cef7 100644 --- a/Makefile.sphinx +++ b/Makefile.sphinx @@ -1,41 +1,49 @@ # Makefile to be included by other modules, from the TOPLEVEL/docs/ dir, to # automatically build sphinx documentation. APIDOC_DIR = apidoc APIDOC_OPTS = --implicit-namespaces SPHINXBUILD = python3 -c 'import sphinx, sys; sys.exit(sphinx.main(sys.argv))' SPHINXAPIDOC = python3 -c 'import sphinx.apidoc, sys; sys.exit(sphinx.apidoc.main(sys.argv))' SPHINX_OPTS = SPHINX_BUILDDIR = _build SPHINX_SRCDIR = . # relative to docs/ dir. Hence "." exclude the docs/ dir itself APIDOC_EXCLUDES = APIDOC_EXCLUDES += . ../setup.py APIDOC_EXCLUDES += '../swh/*/tests' '../swh/*/tests/*' '../swh/*/*/tests/*' '../swh/*/*/*/tests/*' APIDOC_EXCLUDES += '../bin/*' APIDOC_EXCLUDES += '../utils/*' html: sphinx/html help: sphinx/help +# allow to skip apidoc generation, for modules where the overall documentation +# structure, table of contents, etc., is manually curated +ifeq ($(SKIP_APIDOC),yes) +apidoc_dep = +else +apidoc_dep = apidoc-stamp +endif + sphinx/clean: $(SPHINXBUILD) -M clean $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) -sphinx/%: apidoc-stamp +sphinx/%: $(apidoc_dep) $(SPHINXBUILD) -M $* $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) apidoc: apidoc-stamp apidoc-stamp: $(SPHINXAPIDOC) $(APIDOC_OPTS) -o $(APIDOC_DIR) .. $(APIDOC_EXCLUDES) touch $@ .PHONY: clean clean-apidoc clean: sphinx/clean clean-apidoc clean-apidoc: rm -rf $(APIDOC_DIR) rm -f *-stamp # Local Variables: # mode: makefile # End: