]> git.0d.be Git - empathy.git/blob - data/icons/Makefile.am
c130a22ce5e68fe14dce650f4216c15637f7e32b
[empathy.git] / data / icons / Makefile.am
1 NULL =
2
3 public_icons_themes = \
4         hicolor \
5         $(NULL)
6
7 public_icons = \
8         hicolor_apps_16x16_empathy.png \
9         hicolor_apps_22x22_empathy.png \
10         hicolor_apps_24x24_empathy.png \
11         hicolor_apps_32x32_empathy.png \
12         hicolor_apps_48x48_empathy.png \
13         hicolor_apps_256x256_empathy.png \
14         $(NULL)
15
16 private_icons_themes = \
17         hicolor \
18         $(NULL)
19
20 private_icons = \
21         hicolor_actions_16x16_im-message-new.png \
22         hicolor_actions_22x22_im-message-new.png \
23         hicolor_actions_24x24_im-message-new.png \
24         hicolor_status_16x16_im-message.png \
25         hicolor_status_22x22_im-message.png \
26         hicolor_status_16x16_user-typing.png \
27         hicolor_apps_16x16_im-aim.png \
28         hicolor_apps_16x16_im-ekiga.png \
29         hicolor_apps_16x16_im-facebook.png \
30         hicolor_apps_16x16_im-gizmo.png \
31         hicolor_apps_16x16_im-google-talk.png \
32         hicolor_apps_16x16_im-icq.png \
33         hicolor_apps_16x16_im-irc.png \
34         hicolor_apps_16x16_im-jabber.png \
35         hicolor_apps_16x16_im-msn.png \
36         hicolor_apps_16x16_im-silc.png \
37         hicolor_apps_16x16_im-sip.png \
38         hicolor_apps_16x16_im-local-xmpp.png \
39         hicolor_apps_16x16_im-gadugadu.png \
40         hicolor_apps_16x16_im-groupwise.png \
41         hicolor_apps_16x16_im-qq.png \
42         hicolor_apps_16x16_im-meanwhile.png \
43         hicolor_apps_16x16_im-mxit.png \
44         hicolor_apps_16x16_im-myspace.png \
45         hicolor_apps_16x16_im-sametime.png \
46         hicolor_apps_16x16_im-yahoo.png \
47         hicolor_apps_16x16_im-zephyr.png \
48         hicolor_apps_22x22_im-aim.png \
49         hicolor_apps_22x22_im-ekiga.png \
50         hicolor_apps_22x22_im-facebook.png \
51         hicolor_apps_22x22_im-gizmo.png \
52         hicolor_apps_22x22_im-google-talk.png \
53         hicolor_apps_22x22_im-icq.png \
54         hicolor_apps_22x22_im-irc.png \
55         hicolor_apps_22x22_im-jabber.png \
56         hicolor_apps_22x22_im-msn.png \
57         hicolor_apps_22x22_im-silc.png \
58         hicolor_apps_22x22_im-sip.png \
59         hicolor_apps_22x22_im-local-xmpp.png \
60         hicolor_apps_22x22_im-gadugadu.png \
61         hicolor_apps_22x22_im-groupwise.png \
62         hicolor_apps_22x22_im-qq.png \
63         hicolor_apps_22x22_im-meanwhile.png \
64         hicolor_apps_22x22_im-mxit.png \
65         hicolor_apps_22x22_im-myspace.png \
66         hicolor_apps_22x22_im-sametime.png \
67         hicolor_apps_22x22_im-yahoo.png \
68         hicolor_apps_22x22_im-zephyr.png \
69         hicolor_apps_24x24_im-aim.png \
70         hicolor_apps_24x24_im-ekiga.png \
71         hicolor_apps_24x24_im-gizmo.png \
72         hicolor_apps_24x24_im-google-talk.png \
73         hicolor_apps_24x24_im-icq.png \
74         hicolor_apps_24x24_im-irc.png \
75         hicolor_apps_24x24_im-jabber.png \
76         hicolor_apps_24x24_im-msn.png \
77         hicolor_apps_24x24_im-silc.png \
78         hicolor_apps_24x24_im-sip.png \
79         hicolor_apps_24x24_im-local-xmpp.png \
80         hicolor_apps_24x24_im-gadugadu.png \
81         hicolor_apps_24x24_im-groupwise.png \
82         hicolor_apps_24x24_im-qq.png \
83         hicolor_apps_24x24_im-meanwhile.png \
84         hicolor_apps_24x24_im-mxit.png \
85         hicolor_apps_24x24_im-myspace.png \
86         hicolor_apps_24x24_im-sametime.png \
87         hicolor_apps_24x24_im-yahoo.png \
88         hicolor_apps_24x24_im-zephyr.png \
89         hicolor_apps_32x32_im-aim.png \
90         hicolor_apps_32x32_im-ekiga.png \
91         hicolor_apps_32x32_im-gizmo.png \
92         hicolor_apps_32x32_im-google-talk.png \
93         hicolor_apps_32x32_im-icq.png \
94         hicolor_apps_32x32_im-irc.png \
95         hicolor_apps_32x32_im-jabber.png \
96         hicolor_apps_32x32_im-msn.png \
97         hicolor_apps_32x32_im-silc.png \
98         hicolor_apps_32x32_im-sip.png \
99         hicolor_apps_32x32_im-local-xmpp.png \
100         hicolor_apps_32x32_im-gadugadu.png \
101         hicolor_apps_32x32_im-groupwise.png \
102         hicolor_apps_32x32_im-qq.png \
103         hicolor_apps_32x32_im-meanwhile.png \
104         hicolor_apps_32x32_im-mxit.png \
105         hicolor_apps_32x32_im-myspace.png \
106         hicolor_apps_32x32_im-sametime.png \
107         hicolor_apps_32x32_im-yahoo.png \
108         hicolor_apps_32x32_im-zephyr.png \
109         hicolor_apps_48x48_im-aim.png \
110         hicolor_apps_48x48_im-ekiga.png \
111         hicolor_apps_48x48_im-facebook.png \
112         hicolor_apps_48x48_im-gizmo.png \
113         hicolor_apps_48x48_im-google-talk.png \
114         hicolor_apps_48x48_im-icq.png \
115         hicolor_apps_48x48_im-irc.png \
116         hicolor_apps_48x48_im-jabber.png \
117         hicolor_apps_48x48_im-msn.png \
118         hicolor_apps_48x48_im-silc.png \
119         hicolor_apps_48x48_im-sip.png \
120         hicolor_apps_48x48_im-local-xmpp.png \
121         hicolor_apps_48x48_im-gadugadu.png \
122         hicolor_apps_48x48_im-groupwise.png \
123         hicolor_apps_48x48_im-qq.png \
124         hicolor_apps_48x48_im-meanwhile.png \
125         hicolor_apps_48x48_im-mxit.png \
126         hicolor_apps_48x48_im-myspace.png \
127         hicolor_apps_48x48_im-sametime.png \
128         hicolor_apps_48x48_im-yahoo.png \
129         hicolor_apps_48x48_im-zephyr.png \
130         hicolor_apps_scalable_im-aim.svg \
131         hicolor_apps_scalable_im-ekiga.svg \
132         hicolor_apps_scalable_im-gizmo.svg \
133         hicolor_apps_scalable_im-google-talk.svg \
134         hicolor_apps_scalable_im-icq.svg \
135         hicolor_apps_scalable_im-irc.svg \
136         hicolor_apps_scalable_im-jabber.svg \
137         hicolor_apps_scalable_im-msn.svg \
138         hicolor_apps_scalable_im-silc.svg \
139         hicolor_apps_scalable_im-sip.svg \
140         hicolor_apps_scalable_im-local-xmpp.svg \
141         hicolor_apps_scalable_im-gadugadu.svg \
142         hicolor_apps_scalable_im-groupwise.svg \
143         hicolor_apps_scalable_im-qq.svg \
144         hicolor_apps_scalable_im-meanwhile.svg \
145         hicolor_apps_scalable_im-mxit.svg \
146         hicolor_apps_scalable_im-myspace.svg \
147         hicolor_apps_scalable_im-sametime.svg \
148         hicolor_apps_scalable_im-yahoo.svg \
149         hicolor_apps_scalable_im-zephyr.svg \
150         hicolor_status_16x16_user-available.png \
151         hicolor_status_16x16_user-away.png \
152         hicolor_status_16x16_user-busy.png \
153         hicolor_status_16x16_user-idle.png \
154         hicolor_status_16x16_user-offline.png \
155         hicolor_status_16x16_empathy-pending.png \
156         hicolor_status_22x22_user-available.png \
157         hicolor_status_22x22_user-away.png \
158         hicolor_status_22x22_user-busy.png \
159         hicolor_status_22x22_user-idle.png \
160         hicolor_status_22x22_user-offline.png \
161         hicolor_status_22x22_empathy-pending.png \
162         hicolor_status_24x24_user-available.png \
163         hicolor_status_24x24_user-away.png \
164         hicolor_status_24x24_user-busy.png \
165         hicolor_status_24x24_user-idle.png \
166         hicolor_status_24x24_user-offline.png \
167         hicolor_status_24x24_empathy-pending.png \
168         hicolor_status_32x32_user-available.png \
169         hicolor_status_32x32_user-away.png \
170         hicolor_status_32x32_user-busy.png \
171         hicolor_status_32x32_user-idle.png \
172         hicolor_status_32x32_user-offline.png \
173         hicolor_status_32x32_empathy-pending.png \
174         hicolor_status_48x48_user-available.png \
175         hicolor_status_48x48_user-away.png \
176         hicolor_status_48x48_user-busy.png \
177         hicolor_status_48x48_user-idle.png \
178         hicolor_status_48x48_user-offline.png \
179         hicolor_status_48x48_empathy-pending.png \
180         hicolor_status_scalable_user-available.svg \
181         hicolor_status_scalable_user-away.svg \
182         hicolor_status_scalable_user-busy.svg \
183         hicolor_status_scalable_user-idle.svg \
184         hicolor_status_scalable_user-offline.svg \
185         hicolor_status_scalable_empathy-pending.svg \
186         $(NULL)
187
188 EXTRA_DIST = \
189         $(public_icons)         \
190         $(private_icons)        \
191         empathy.svg             \
192         local-xmpp.svg          \
193         $(NULL)
194
195 include $(srcdir)/utils.mk
196
197 ###############################################################################
198
199 gtk_update_icon_cache = gtk-update-icon-cache -f -t
200
201 update-icon-cache:
202         @-if test -z "$(DESTDIR)"; then \
203                 echo "Updating Gtk icon cache."; \
204                 for theme in $(public_icons_themes); do \
205                         $(gtk_update_icon_cache) $(datadir)/icons/$$theme; \
206                 done; \
207                 for theme in $(private_icons_themes); do \
208                         $(gtk_update_icon_cache) $(pkgdatadir)/icons/$$theme; \
209                 done; \
210         else \
211                 echo "*** Icon cache not updated.  After (un)install, run this:"; \
212                 for theme in $(public_icons_themes); do \
213                         echo "***   $(gtk_update_icon_cache) $(datadir)/icons/$$theme"; \
214                 done; \
215                 for theme in $(private_icons_themes); do \
216                         echo "***   $(gtk_update_icon_cache) $(pkgdatadir)/icons/$$theme"; \
217                 done; \
218         fi
219
220 install-icons:
221         for icon in $(public_icons); do \
222                 THEME=`echo $$icon | cut -d_ -f1`; \
223                 CONTEXT=`echo $$icon | cut -d_ -f2`; \
224                 SIZE=`echo $$icon | cut -d_ -f3`; \
225                 ICONFILE=`echo $$icon | cut -d_ -f4`; \
226                 mkdir -p $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
227                 $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
228         done; \
229         for icon in $(private_icons); do \
230                 THEME=`echo $$icon | cut -d_ -f1`; \
231                 CONTEXT=`echo $$icon | cut -d_ -f2`; \
232                 SIZE=`echo $$icon | cut -d_ -f3`; \
233                 ICONFILE=`echo $$icon | cut -d_ -f4`; \
234                 mkdir -p $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT; \
235                 $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
236         done
237
238 uninstall-icons:
239         -for icon in $(public_icons); do \
240                 THEME=`echo $$icon | cut -d_ -f1`; \
241                 CONTEXT=`echo $$icon | cut -d_ -f2`; \
242                 SIZE=`echo $$icon | cut -d_ -f3`; \
243                 ICONFILE=`echo $$icon | cut -d_ -f4`; \
244                 rm -f $(DESTDIR)$(datadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
245         done; \
246         for icon in $(private_icons); do \
247                 THEME=`echo $$icon | cut -d_ -f1`; \
248                 CONTEXT=`echo $$icon | cut -d_ -f2`; \
249                 SIZE=`echo $$icon | cut -d_ -f3`; \
250                 ICONFILE=`echo $$icon | cut -d_ -f4`; \
251                 rm -f $(DESTDIR)$(pkgdatadir)/icons/$$THEME/$$SIZE/$$CONTEXT/$$ICONFILE; \
252         done
253
254 install-data-local:
255         $(MAKE) install-icons
256         $(MAKE) update-icon-cache
257
258 uninstall-local:
259         $(MAKE) uninstall-icons
260         $(MAKE) update-icon-cache
261
262 # Local copy of the "installed" icon. This is used to be able to run empathy
263 # from source (see bgo #616159)
264 local_icons_dir = local-copy
265
266 # Generate the lists of destination paths
267 public_icons_local_install_paths = $(foreach obj, $(public_icons), $(local_icons_dir)/$(subst _,/,$(call reorder,_,1 3 2 4,$(obj))))
268 private_icons_local_install_paths = $(foreach obj, $(private_icons), $(local_icons_dir)/$(subst _,/,$(call reorder,_,1 3 2 4,$(obj))))
269
270 # For each destination path we'll need to compute back the original icon
271 # and create a rule that will ensure that the destination directory exists
272 # and then copy the original file
273 define icon_local_install_rule_template
274 $(local_icons_dir)/$$(subst _,/,$$(call reorder,_,1 3 2 4,$1)): $1
275         $$(AM_V_GEN)mkdir -p $$(@D)
276         $$(AM_V_GEN)cp $$^ $$@
277 endef
278
279 # Instantiate the template above for each icon
280 $(foreach icon,$(public_icons),$(eval $(call icon_local_install_rule_template,$(icon))))
281 $(foreach icon,$(private_icons),$(eval $(call icon_local_install_rule_template,$(icon))))
282
283 install-icons-src: $(public_icons_local_install_paths) $(private_icons_local_install_paths)
284
285 all: install-icons-src
286
287 clean-local:
288         -rm -rf $(local_icons_dir)