diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/compress-pngs.sh | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/tools/compress-pngs.sh b/tools/compress-pngs.sh index ea93f3d753..c70456e569 100755 --- a/tools/compress-pngs.sh +++ b/tools/compress-pngs.sh @@ -28,10 +28,32 @@ if [ -n "$1" ] ; then FILE_LIST_CMD="echo $1" fi -bash -c "$FILE_LIST_CMD" | while read PNG_FILE ; do - echo Compressing $PNG_FILE - hash optipng 2>/dev/null && optipng -o3 -quiet "$PNG_FILE" - hash advpng 2>/dev/null && advpng -z -4 "$PNG_FILE" - hash advdef 2>/dev/null && advdef -z -4 "$PNG_FILE" - hash pngcrush 2>/dev/null && pngcrush -q -ow -brute "$PNG_FILE" -done +# Other utilities: +# PNGOUT (http://advsys.net/ken/utils.htm). Closed source. +# pngquant (https://pngquant.org/). Lossy. + +JOBS=8 +export FILE_LIST_CMD +( + echo -n "PNG_FILES =" + bash -c "$FILE_LIST_CMD" | while read PNG_FILE ; do + echo -e " \\" + echo -e -n "\t${PNG_FILE}" + + done + cat <<"FIN" + + +all: $(PNG_FILES) + +$(PNG_FILES): FORCE + @echo Compressing $@ + @hash optipng 2>/dev/null && optipng -o3 -quiet "$@" + @hash advpng 2>/dev/null && advpng -z -4 "$@" + @hash advdef 2>/dev/null && advdef -z -4 "$@" + @hash pngcrush 2>/dev/null && pngcrush -q -ow -brute -reduce -noforce "$@" pngout.$$$$.png + +FORCE: +FIN + +) | make -j $JOBS -f - |