diff --git a/Makefile.sphinx b/Makefile.sphinx index 2d2497c..941ed3e 100644 --- a/Makefile.sphinx +++ b/Makefile.sphinx @@ -1,39 +1,41 @@ # 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/*' APIDOC_EXCLUDES += '../bin/*' APIDOC_EXCLUDES += '../utils/*' html: sphinx/html help: sphinx/help sphinx/clean: - sphinx-build -M clean $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) + $(SPHINXBUILD) -M clean $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) sphinx/%: apidoc-stamp - sphinx-build -M $* $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) + $(SPHINXBUILD) -M $* $(SPHINX_SRCDIR) $(SPHINX_BUILDDIR) $(SPHINXOPTS) apidoc: apidoc-stamp apidoc-stamp: - sphinx-apidoc $(APIDOC_OPTS) -o $(APIDOC_DIR) .. $(APIDOC_EXCLUDES) + $(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: diff --git a/docs/Makefile b/docs/Makefile index c896264..a65b996 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -1,50 +1,50 @@ SPHINXOPTS = -SPHINXBUILD = sphinx-build +SPHINXBUILD = python3 -c 'import sphinx, sys; sys.exit(sphinx.main(sys.argv))' SOURCEDIR = . BUILDDIR = _build HTMLDIR = $(BUILDDIR)/html INSTALL_HOST = pergamon.internal.softwareheritage.org INSTALL_DIR = /srv/softwareheritage/docs/webroot/devel INSTALL_GROUP = swhdev INSTALL_PERMS = g+rwX html: sphinx/html sphinx/html: links-stamp apidoc-stamp images-stamp links-stamp: bin/ln-sphinx-subprojects touch $@ apidoc-stamp: $(MAKE) -C ../../ docs-apidoc touch $@ images-stamp: $(MAKE) -C images touch $@ clean: sphinx/clean bin/ln-sphinx-subprojects --remove $(MAKE) -C images clean rm -f *-stamp distclean: clean make -C ../../ docs-clean help: sphinx/help @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) sphinx/%: @$(SPHINXBUILD) -M $* "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) install: html test -d $(HTMLDIR) rsync -avuz $(BUILDDIR)/html/ $(INSTALL_HOST):$(INSTALL_DIR)/ ssh $(INSTALL_HOST) \ "chgrp -R $(INSTALL_GROUP) $(INSTALL_DIR) ; \ chmod -R $(INSTALL_PERMS) $(INSTALL_DIR) ; \ find $(INSTALL_DIR) -type d -exec chmod g+s {} +" .PHONY: help html clean distclean install