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