altosuilib: Wait for product data while scanning
[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 # Application icon base names
7
8 AM_NAME         = altusmetrum-altosui
9 MP_NAME         = altusmetrum-micropeak
10 TG_NAME         = altusmetrum-telegps
11
12 # File icon base names
13
14 EEPROM_NAME     = application-vnd.altusmetrum.eeprom
15 TELEM_NAME      = application-vnd.altusmetrum.telemetry
16 MPD_NAME        = application-vnd.altusmetrum.micropeak
17
18 # Application icons
19
20 AM_ICON         = $(AM_NAME).svg
21 MP_ICON         = $(MP_NAME).svg
22 TG_ICON         = $(TG_NAME).svg
23
24 # File icons (note that MicroPeak uses the application icon for files)
25
26 EEPROM_ICON     = $(EEPROM_NAME).svg
27 TELEM_ICON      = $(TELEM_NAME).svg
28 MPD_ICON        = $(MPD_NAME).svg
29
30 # Files needed for Mac OSX icons
31
32 MAC_AM_FILES    = $(shell for i in $(MAC_RES); do echo $(AM_NAME)-$$i.png; done)
33 MAC_MP_FILES    = $(shell for i in $(MAC_RES); do echo $(MP_NAME)-$$i.png; done)
34 MAC_TG_FILES    = $(shell for i in $(MAC_RES); do echo $(TG_NAME)-$$i.png; done)
35 MAC_EEPROM_FILES= $(shell for i in $(MAC_RES); do echo $(EEPROM_NAME)-$$i.png; done)
36 MAC_TELEM_FILES = $(shell for i in $(MAC_RES); do echo $(TELEM_NAME)-$$i.png; done)
37 MAC_MPD_FILES   = $(shell for i in $(MAC_RES); do echo $(MPD_NAME)-$$i.png; done)
38
39 ICNS_FILES      = $(AM_NAME).icns $(MP_NAME).icns $(TG_NAME).icns \
40                   $(EEPROM_NAME).icns $(TELEM_NAME).icns $(MPD_NAME).icns
41
42 # Files needed for Windows icons
43
44 WIN_AM_FILES    = $(shell for i in $(WIN_RES); do echo $(AM_NAME)-$$i.png; done)
45 WIN_MP_FILES    = $(shell for i in $(WIN_RES); do echo $(MP_NAME)-$$i.png; done)
46 WIN_TG_FILES    = $(shell for i in $(WIN_RES); do echo $(TG_NAME)-$$i.png; done)
47 WIN_EEPROM_FILES= $(shell for i in $(WIN_RES); do echo $(EEPROM_NAME)-$$i.png; done)
48 WIN_TELEM_FILES = $(shell for i in $(WIN_RES); do echo $(TELEM_NAME)-$$i.png; done)
49 WIN_MPD_FILES   = $(shell for i in $(WIN_RES); do echo $(MPD_NAME)-$$i.png; done)
50
51 ICO_FILES       = $(AM_NAME).ico $(MP_NAME).ico $(TG_NAME).ico \
52                   $(EEPROM_NAME).ico $(TELEM_NAME).ico $(MPD_NAME).ico
53
54 EXE_FILES       = $(AM_NAME).exe $(MP_NAME).exe $(TG_NAME).exe \
55                   $(EEPROM_NAME).exe $(TELEM_NAME).exe $(MPD_NAME).exe
56
57 # Files needed for Java internal icons
58
59 JAVA_AM_FILES   = $(shell for i in $(JAVA_RES); do echo $(AM_NAME)-$$i.png; done)
60 JAVA_MP_FILES   = $(shell for i in $(JAVA_RES); do echo $(MP_NAME)-$$i.png; done)
61 JAVA_TG_FILES   = $(shell for i in $(JAVA_RES); do echo $(TG_NAME)-$$i.png; done)
62
63 JAVA_FILES      = $(JAVA_AM_FILES) $(JAVA_MP_FILES) $(JAVA_TG_FILES)
64
65 # PNG files needed by anyone
66
67 AM_FILES        = $(shell for i in $(RES); do echo $(AM_NAME)-$$i.png; done)
68 MP_FILES        = $(shell for i in $(RES); do echo $(MP_NAME)-$$i.png; done)
69 TG_FILES        = $(shell for i in $(RES); do echo $(TG_NAME)-$$i.png; done)
70 EEPROM_FILES    = $(shell for i in $(RES); do echo $(EEPROM_NAME)-$$i.png; done)
71 TELEM_FILES     = $(shell for i in $(RES); do echo $(TELEM_NAME)-$$i.png; done)
72 IN_MPD_FILES    = $(shell for i in $(RES); do echo $(MPD_NAME)-$$i.png; done)
73
74 # XPM file needed by debian
75
76 AM_XPM = altusmetrum.xpm
77
78 ICON_THEME=$(datadir)/icons/hicolor
79
80 appicondir = $(ICON_THEME)/scalable/apps
81 appicon_DATA = $(AM_ICON) $(MP_ICON) $(TG_ICON)
82
83 MIME_ICONS = $(EEPROM_ICON) $(TELEM_ICON) $(MPD_ICON)
84
85 mimeicondir = $(ICON_THEME)/scalable/mimetypes
86 mimeicon_DATA = $(MIME_ICONS)
87
88 if INSTALL_SHARED_MIME_INFO
89 mimedir = $(datadir)/mime/packages
90 mime_DATA = org-altusmetrum-mimetypes.xml
91 endif
92
93 pixmapdir = $(datadir)/pixmaps
94 pixmap_DATA = altusmetrum.xpm
95
96 EXTRA_DIST = $(appicon_DATA) $(mimeicon_DATA) $(mime_DATA) windows-stub.c
97
98 res:
99         echo $(RES)
100
101 java-altosui:
102         @echo $(JAVA_AM_FILES)
103
104 java-micropeak:
105         @echo $(JAVA_MP_FILES)
106
107 java-telegps:
108         @echo $(JAVA_TG_FILES)
109
110 fat: all $(ICO_FILES) $(ICNS_FILES) $(EXE_FILES)
111
112 all-local: $(JAVA_FILES) $(AM_XPM)
113
114 clean-local:
115         $(RM) $(AM_NAME)-*.png $(TG_NAME)-*.png $(MP_NAME)-*.png
116         $(RM) altus-metrum-*.png micropeak-*.png telegps-*.png
117         $(RM) $(EEPROM_NAME)-*.png $(TELEM_NAME)-*.png $(MPD_NAME)-*.png
118         $(RM) *.build *.ico *.rc *.icns *.o *.exe $(MPD_ICON)
119         $(RM) altusmetrum.xpm
120
121 if INSTALL_SHARED_MIME_INFO
122 install-data-hook:
123         update-mime-database $(DESTDIR)$(datadir)/mime
124         update-icon-caches $(DESTDIR)$(ICON_THEME)
125 endif
126
127 $(MPD_ICON): $(MP_ICON)
128         $(LN_S) $(MP_ICON) $@
129
130 XPM_SRC=altusmetrum-altosui-32.png
131
132 altusmetrum.xpm: $(XPM_SRC)
133         pngtopnm -alpha $(XPM_SRC) > mask-$@ && \
134                 pngtopnm $(XPM_SRC) | \
135                 ppmtoxpm -alphamask=mask-$@ > $@ && rm mask-$@
136
137 $(AM_FILES): $(AM_NAME).build
138 $(MP_FILES): $(MP_NAME).build
139 $(TG_FILES): $(TG_NAME).build
140
141 SUFFIXES=.svg .build .icns .ico .rc .o .exe
142
143 .svg.build:
144         for i in $(RES); do rsvg-convert -w $$i -h $$i -o $*-$$i.png $*.svg; done && touch $@
145
146 .build.icns:
147         png2icns $@ $(shell for i in $(MAC_RES); do echo $*-$$i.png; done)
148
149 .build.ico:
150         icotool -c -o $@ $(shell for i in $(WIN_RES); do echo $*-$$i.png; done)
151
152 .ico.rc:
153         echo '101 ICON "$*.ico"' > $@
154
155
156 MINGCC32=i686-w64-mingw32-gcc
157 MINGWINDRES=i686-w64-mingw32-windres
158
159 .rc.o:
160         $(MINGWINDRES) $*.rc $@
161
162 .o.exe:
163         $(MINGCC32) -o $@ windows-stub.c $*.o