icon: Construct .exe files to hold windows icons for file associations
[fw/altos] / icon / Makefile.am
1 JAVA_RES=16 32 48 64 128 256
2 MAC_RES=16 32 128 256 512
3 WIN_RES=16 24 32 48 64 72 96 128 180 256
4 RES=$(shell echo $(JAVA_RES) $(MAC_RES) $(WIN_RES) | awk '{ for (i = 1; i <= NF; i++) printf("%s\n", $$i); }' | sort -n -u)
5
6 AM_FILES=$(shell for i in $(RES); do echo altus-metrum-$$i.png; done)
7 MP_FILES=$(shell for i in $(RES); do echo micropeak-$$i.png; done)
8 TG_FILES=$(shell for i in $(RES); do echo telegps-$$i.png; done)
9
10 MAC_TG_FILES=$(shell for i in $(MAC_RES); do echo telegps-$$i.png; done)
11 MAC_MP_FILES=$(shell for i in $(MAC_RES); do echo micropeak-$$i.png; done)
12 MAC_AM_FILES=$(shell for i in $(MAC_RES); do echo altus-metrum-$$i.png; done)
13
14 WIN_TG_FILES=$(shell for i in $(WIN_RES); do echo telegps-$$i.png; done)
15 WIN_MP_FILES=$(shell for i in $(WIN_RES); do echo micropeak-$$i.png; done)
16 WIN_AM_FILES=$(shell for i in $(WIN_RES); do echo altus-metrum-$$i.png; done)
17
18 ICO_FILES=altus-metrum.ico micro-peak.ico telegps.ico
19 ICNS_FILES=AltosUIIcon.icns TeleGPS.icns MicroPeak.icns
20
21 icondir = $(datadir)/icons/hicolor/scalable/apps
22
23 AM_ICON = altusmetrum.svg
24 MP_ICON = micropeak.svg
25 TG_ICON = telegps.svg
26
27 icon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON)
28
29 EXTRA_DIST = $(icon_DATA) $(AM_FILES) $(MP_FILES) $(TG_FILES)
30
31 res:
32         echo $(RES)
33
34 all-local: $(ICO_FILES) $(ICNS_FILES)
35
36 clean-local:
37         $(RM) altus-metrum-*.png telegps-*.png micropeak-*.png *.build *.ico *.icns *.o *.exe
38
39 $(AM_FILES): altusmetrum.build
40
41 altusmetrum.build: altusmetrum.svg
42         for i in $(RES); do rsvg-convert -w $$i -h $$i -o altus-metrum-$$i.png altusmetrum.svg; done && touch $@
43
44 $(TG_FILES): telegps.build
45
46 telegps.build: telegps.svg
47         for i in $(RES); do rsvg-convert -w $$i -h $$i -o telegps-$$i.png telegps.svg; done && touch $@
48
49 $(MP_FILES): micropeak.build
50
51 micropeak.build: micropeak.svg
52         for i in $(RES); do rsvg-convert -w $$i -h $$i -o micropeak-$$i.png micropeak.svg; done && touch $@
53
54 #clean-local:
55 #       $(RM) -f $(ICO_FILES)
56
57 altus-metrum.ico: $(WIN_AM_FILES)
58         icotool -c -o $@ $(WIN_AM_FILES)
59
60 micro-peak.ico: $(WIN_MP_FILES)
61         icotool -c -o $@ $(WIN_MP_FILES)
62
63 telegps.ico: $(WIN_TG_FILES)
64         icotool -c -o $@ $(WIN_TG_FILES)
65
66 AltosUIIcon.icns: $(MAC_AM_FILES)
67         png2icns $@ $(MAC_AM_FILES)
68
69 TeleGPS.icns: $(MAC_TG_FILES)
70         png2icns $@ $(MAC_TG_FILES)
71
72 MicroPeak.icns: $(MAC_MP_FILES)
73         png2icns $@ $(MAC_MP_FILES)
74
75 MINGCC32=i686-w64-mingw32-gcc
76 MINGWINDRES=i686-w64-mingw32-windres
77
78 SUFFIXES=.rc .exe
79
80 fat: all micro-peak.exe altus-metrum.exe telegps.exe
81
82 altus-metrum.o: altus-metrum.ico
83 micro-peak.o: micro-peak.ico
84 telegps.o: telegps.ico
85
86 .rc.o:
87         $(MINGWINDRES) $*.rc $@
88
89 .o.exe:
90         $(MINGCC32) -o $@ windows-stub.c $*.o