3 public_icons_themes = \
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 \
16 private_icons_themes = \
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 \
195 include $(srcdir)/utils.mk
197 ###############################################################################
199 gtk_update_icon_cache = gtk-update-icon-cache -f -t
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; \
207 for theme in $(private_icons_themes); do \
208 $(gtk_update_icon_cache) $(pkgdatadir)/icons/$$theme; \
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"; \
215 for theme in $(private_icons_themes); do \
216 echo "*** $(gtk_update_icon_cache) $(pkgdatadir)/icons/$$theme"; \
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; \
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; \
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; \
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; \
255 $(MAKE) install-icons
256 $(MAKE) update-icon-cache
259 $(MAKE) uninstall-icons
260 $(MAKE) update-icon-cache
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
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))))
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 $$^ $$@
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))))
283 install-icons-src: $(public_icons_local_install_paths) $(private_icons_local_install_paths)
285 all: install-icons-src
288 -rm -rf $(local_icons_dir)