if HAVE_VIRTUALENV
if !HAVE_MANPAGES
-$(MANPAGES_DIST): %: manpages/%.rst .venv
- .venv/bin/python -msphinx -b man . mans $<
- mv mans/$@ $@
+$(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