Exit codes lost since commit
v1.9-305-ga7e3d17ab8 (2017-05-29)
[tools: atomic creation of include files]. Fixed using `mispipe`
also provided by moreutils. As additional fail-safe, also catch
empty results with `ifne` to keep existing data on failure.
.PHONY: download
# atomically create file by command
-cmdsave = @echo $1 $2 \>$@; $1 $2 | sponge $@
+cmdsave = @echo $1 $2 \>$@; mispipe '$1 $2' 'ifne sponge $@'
# download git checkout
gitsave = @if cd $@ 2>/dev/null; \
then echo git pull $@; git pull -q --ff-only || true; \