if HAVE_VIRTUALENV
if !HAVE_MANPAGES
-$(MANPAGES_DIST): %: manpages/%.rst .venv
- outputdir="`mktemp -u -d mans.XXXXXX`"; .venv/bin/python -msphinx -b man . "$$outputdir" "$<" && mv "$${outputdir}/$@" "$@"; rm -rf "$$outputdir"
+$(MANPAGES_DIST): %: mans/.complete manpages/%.rst
+ mv "$(<D)/$@" "$@" && rm -f "$<"
endif # if !HAVE_MANPAGES
+mans/.complete: manpages := $(addprefix manpages/,$(addsuffix .rst,$(MANPAGES_DIST)))
+mans/.complete: .venv
+ rm -rf "$(@D).tmp"
+ .venv/bin/python -msphinx -b man . "$(@D).tmp" $(manpages) && rm -rf "$(@D)" && mv "$(@D).tmp" "$(@D)"
+ touch "$@"
+ rm -rf "$(@D).tmp"
+
.venv: requirements.txt
virtualenv .venv
.venv/bin/pip install -U pip setuptools setuptools-git