summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/compress-pngs.sh36
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 -