tools: preserve make errors, ignore empty output
[sheet.git] / Makefile
index 8ff1638367ccc9d73f8362f3f791649309c08a90..85fc990f3abd1d59e0b49fa3893906f817c13e58 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -5,11 +5,11 @@ download: data/DerivedAge.txt data/rfc1345.txt data/xorg-compose data/countryInf
 .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 = @echo git pull or clone $@; \
-       [ -r $@/.git ] && cd $@ && git pull --ff-only || true; \
-       [ -e $@ ] || git clone "$1" $@
+gitsave = @if cd $@ 2>/dev/null; \
+       then echo git pull $@; git pull -q --ff-only || true; \
+       else echo git clone $1 $@; git clone -q --progress $1 $@; fi
 
 sitemap.xml: tools/mksitemap
        $(call cmdsave,$<)