-RES=16 32 48 64 128 256
+LINUX_RES=16 32 48 64 128 256 512
+MAC_RES=16 32 128 256 512
+WIN_RES=16 24 32 48 64 72 96 128 180 256
+RES=$(shell echo $(LINUX_RES) $(MAC_RES) $(WIN_RES) | awk '{ for (i = 1; i <= NF; i++) printf("%s\n", $$i); }' | sort -n -u)
AM_FILES=$(shell for i in $(RES); do echo altus-metrum-$$i.png; done)
MP_FILES=$(shell for i in $(RES); do echo micropeak-$$i.png; done)
TG_FILES=$(shell for i in $(RES); do echo telegps-$$i.png; done)
+MAC_TG_FILES=$(shell for i in $(MAC_RES); do echo telegps-$$i.png; done)
+MAC_MP_FILES=$(shell for i in $(MAC_RES); do echo micropeak-$$i.png; done)
+MAC_AM_FILES=$(shell for i in $(MAC_RES); do echo altus-metrum-$$i.png; done)
ICO_FILES=altus-metrum.ico micro-peak.ico telegps.ico
+ICNS_FILES=AltosUIIcon.icns TeleGPS.icns MicroPeak.icns
icondir = $(datadir)/icons/hicolor/scalable/apps
EXTRA_DIST = $(icon_DATA) $(AM_FILES) $(MP_FILES) $(TG_FILES)
-all-local: $(ICO_FILES)
+res:
+ echo $(RES)
-$(TG_FILES): telegps.svg
- for i in $(RES); do rsvg-convert -w $$i -o telegps-$$i.png telegps.svg; done
+all-local: $(ICO_FILES) $(ICNS_FILES)
+
+clean-local:
+ $(RM) $(TG_FILES) $(MP_FILES) $(ICO_FILES) $(ICNS_FILES) *.build
+
+$(AM_FILES): altusmetrum.build
+
+altusmetrum.build: altusmetrum.svg
+ for i in $(RES); do ./make-png altusmetrum.svg $$i altus-metrum-$$i.png; done && touch $@
+
+$(TG_FILES): telegps.build
+
+telegps.build: telegps.svg
+ for i in $(RES); do ./make-png telegps.svg $$i telegps-$$i.png; done && touch $@
+
+$(MP_FILES): micropeak.build
+
+micropeak.build: micropeak.svg
+ for i in $(RES); do ./make-png micropeak.svg $$i micropeak-$$i.png; done && touch $@
#clean-local:
# $(RM) -f $(ICO_FILES)
telegps.ico: $(TG_FILES)
icotool -c -o $@ $(TG_FILES)
+
+AltosUIIcon.icns: $(MAC_AM_FILES)
+ png2icns $@ $(MAC_AM_FILES)
+
+TeleGPS.icns: $(MAC_TG_FILES)
+ png2icns $@ $(MAC_TG_FILES)
+
+MicroPeak.icns: $(MAC_MP_FILES)
+ png2icns $@ $(MAC_MP_FILES)