applied changes from fb4435d514398a0b1febebe8bf46339e2c2b52b6
[pidgin-git.git] / libpurple / Makefile.am
blobfc0541469c0895b9c8881b6b2d7a86ac477ac9b4
1 EXTRA_DIST = \
2                 dbus-analyze-functions.py \
3                 dbus-analyze-signals.py \
4                 dbus-analyze-types.py \
5                 marshallers.list \
6                 purple-notifications-example \
7                 purple-remote \
8                 purple-send \
9                 purple-send-async \
10                 purple-url-handler \
11                 purple.h.in \
12                 purple.pc.in \
13                 purple-uninstalled.pc.in \
14                 version.h.in \
15                 Makefile.mingw \
16                 win32/global.mak \
17                 win32/libc_interface.c \
18                 win32/libc_interface.h \
19                 win32/libc_internal.h \
20                 win32/libpurplerc.rc.in \
21                 win32/rules.mak \
22                 win32/targets.mak \
23                 win32/wpurpleerror.h \
24                 win32/win32dep.c \
25                 win32/giowin32.c \
26                 win32/win32dep.h
28 if USE_GCONFTOOL
29 GCONF_DIR=gconf
30 endif
32 pkgconfigdir = $(libdir)/pkgconfig
33 pkgconfig_DATA = purple.pc
35 SUBDIRS = $(GCONF_DIR) plugins protocols ciphers . tests example
37 purple_coresources = \
38         account.c \
39         accountopt.c \
40         blist.c \
41         buddyicon.c \
42         certificate.c \
43         cipher.c \
44         circbuffer.c \
45         cmds.c \
46         connection.c \
47         conversation.c \
48         core.c \
49         debug.c \
50         desktopitem.c \
51         eventloop.c \
52         ft.c \
53         idle.c \
54         imgstore.c \
55         log.c \
56         media/backend-fs2.c \
57         media/backend-iface.c \
58         media/candidate.c \
59         media/codec.c \
60         media/enum-types.c \
61         media.c \
62         mediamanager.c \
63         mime.c \
64         nat-pmp.c \
65         network.c \
66         ntlm.c \
67         notify.c \
68         plugin.c \
69         pluginpref.c \
70         pounce.c \
71         prefs.c \
72         privacy.c \
73         proxy.c \
74         prpl.c \
75         request.c \
76         roomlist.c \
77         savedstatuses.c \
78         server.c \
79         signals.c \
80         smiley.c \
81         dnsquery.c \
82         dnssrv.c\
83         status.c \
84         stringref.c \
85         stun.c \
86         sound.c \
87         sound-theme.c \
88         sound-theme-loader.c \
89         sslconn.c \
90         theme.c \
91         theme-loader.c \
92         theme-manager.c \
93         upnp.c \
94         util.c \
95         value.c \
96         version.c \
97         xmlnode.c \
98         whiteboard.c
100 purple_builtsources = \
101         marshallers.c
103 purple_coreheaders = \
104         account.h \
105         accountopt.h \
106         blist.h \
107         buddyicon.h \
108         certificate.h \
109         cipher.h \
110         circbuffer.h \
111         cmds.h \
112         connection.h \
113         conversation.h \
114         core.h \
115         dbus-maybe.h \
116         debug.h \
117         desktopitem.h \
118         eventloop.h \
119         ft.h \
120         gaim-compat.h \
121         idle.h \
122         imgstore.h \
123         log.h \
124         media.h \
125         media-gst.h \
126         mediamanager.h \
127         mime.h \
128         nat-pmp.h \
129         network.h \
130         notify.h \
131         ntlm.h \
132         plugin.h \
133         pluginpref.h \
134         pounce.h \
135         prefs.h \
136         privacy.h \
137         proxy.h \
138         prpl.h \
139         request.h \
140         roomlist.h \
141         savedstatuses.h \
142         server.h \
143         signals.h \
144         smiley.h \
145         dnsquery.h \
146         dnssrv.h \
147         status.h \
148         stringref.h \
149         stun.h \
150         sound.h \
151         sound-theme.h \
152         sound-theme-loader.h \
153         sslconn.h \
154         theme.h \
155         theme-loader.h \
156         theme-manager.h \
157         upnp.h \
158         util.h \
159         valgrind.h \
160         value.h \
161         xmlnode.h \
162         whiteboard.h
164 purple_mediaheaders = \
165         backend-iface.h \
166         candidate.h \
167         codec.h \
168         enum-types.h
170 purple_builtheaders = purple.h version.h marshallers.h
172 marshallers.h: marshallers.list
173         $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --header > marshallers.h
175 marshallers.c: marshallers.list marshallers.h
176         $(AM_V_GEN)echo "#include \"marshallers.h\"" > marshallers.c
177         $(AM_V_at)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --body >> marshallers.c
179 if ENABLE_DBUS
181 CLEANFILES = \
182         dbus-bindings.c \
183         dbus-client-binding.c \
184         dbus-client-binding.h \
185         dbus-signals.c \
186         dbus-types.c \
187         dbus-types.h \
188         marshallers.c \
189         marshallers.h \
190         purple-client-bindings.c \
191         purple-client-bindings.h \
192         purple.service
194 # purple dbus server
196 dbus_sources  = dbus-server.c dbus-useful.c
197 dbus_headers  = dbus-bindings.h dbus-purple.h dbus-server.h dbus-useful.h dbus-define-api.h dbus-types.h
199 dbus_exported = dbus-useful.h dbus-define-api.h account.h blist.h buddyicon.h \
200                 connection.h conversation.h core.h ft.h log.h notify.h prefs.h roomlist.h \
201                 savedstatuses.h smiley.h status.h server.h util.h xmlnode.h prpl.h
203 purple_build_coreheaders = $(addprefix $(srcdir)/, $(purple_coreheaders)) \
204                 $(addprefix $(srcdir)/media/, $(purple_mediaheaders)) \
205                 $(purple_builtheaders)
206 dbus_build_exported = $(addprefix $(srcdir)/, $(dbus_exported))
207 # We should probably make this better
208 dbus_signals = $(addprefix $(srcdir)/, $(purple_coresources)) \
209         $(srcdir)/protocols/irc/irc.c \
210         $(srcdir)/protocols/jabber/libxmpp.c
212 dbus-types.c: dbus-analyze-types.py $(purple_build_coreheaders)
213         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DEFINE_TYPE\(%s\) > $@
215 dbus-types.h: dbus-analyze-types.py $(purple_build_coreheaders)
216         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DECLARE_TYPE\(%s\) > $@
218 dbus-bindings.c: dbus-analyze-functions.py $(dbus_exported)
219         $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py > $@
221 dbus-signals.c: dbus-analyze-signals.py $(dbus_signals)
222         $(AM_V_GEN)cat $(dbus_signals) | $(PYTHON) $(srcdir)/dbus-analyze-signals.py > $@
224 dbus-server.$(OBJEXT): dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
225 dbus-server.lo: dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
226 $(libpurple_la_OBJECTS): dbus-types.h
228 # libpurple-client
230 libpurple_client_lib = libpurple-client.la
232 libpurple_client_la_SOURCES = purple-client.c purple-client.h
233 libpurple_client_la_LDFLAGS = -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
234 libpurple_client_la_LIBADD = $(DBUS_LIBS)
236 purple-client-bindings.c: dbus-analyze-functions.py $(dbus_exported)
237         $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client > $@
239 purple-client-bindings.h: dbus-analyze-types.py dbus-analyze-functions.py $(purple_coreheaders) $(addprefix media/, $(purple_mediaheaders)) $(purple_builtheaders) $(dbus_exported)
240         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim > $@
241         $(AM_V_at)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers >> $@
243 $(libpurple_client_la_OBJECTS): purple-client-bindings.h purple-client-bindings.c
245 # purple-client-example
247 purple_client_example_SOURCES = purple-client-example.c
249 purple_client_example_DEPENDENCIES = libpurple-client.la
251 purple_client_example_LDADD = \
252         libpurple-client.la \
253         $(GLIB_LIBS) \
254         $(DBUS_LIBS)
256 bin_PROGRAMS = purple-client-example
258 purple-client-example.$(OBJEXT): purple-client-bindings.h
260 # scripts
262 bin_SCRIPTS = purple-remote purple-send purple-send-async purple-url-handler
264 BUILT_SOURCES = $(purple_builtheaders) \
265         $(purple_builtsources) \
266         dbus-bindings.c \
267         dbus-signals.c \
268         dbus-types.c \
269         dbus-types.h \
270         purple-client-bindings.c \
271         purple-client-bindings.h
273 else
275 BUILT_SOURCES = $(purple_builtheaders) $(purple_builtsources)
277 endif
279 lib_LTLIBRARIES = libpurple.la $(libpurple_client_lib)
281 libpurple_la_SOURCES = \
282         $(purple_coresources) \
283         $(purple_builtsources) \
284         $(dbus_sources)
286 noinst_HEADERS= \
287         internal.h \
288         media/backend-fs2.h \
289         valgrind.h
291 libpurpleincludedir=$(includedir)/libpurple
292 libpurpleinclude_HEADERS = \
293         $(purple_coreheaders) \
294         $(purple_builtheaders) \
295         $(dbus_headers)
297 mediaincludedir=$(includedir)/libpurple/media
298 mediainclude_HEADERS = \
299         $(addprefix $(srcdir)/media/, $(purple_mediaheaders))
301 libpurple_la_DEPENDENCIES = $(STATIC_LINK_LIBS)
302 libpurple_la_LDFLAGS = -export-dynamic -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
303 libpurple_la_LIBADD = \
304         $(STATIC_LINK_LIBS) \
305         $(DBUS_LIBS) \
306         $(GLIB_LIBS) \
307         $(LIBXML_LIBS) \
308         $(NETWORKMANAGER_LIBS) \
309         $(INTLLIBS) \
310         $(FARSIGHT_LIBS) \
311         $(GSTREAMER_LIBS) \
312         $(GSTINTERFACES_LIBS) \
313         $(IDN_LIBS) \
314         ciphers/libpurple-ciphers.la \
315         -lm
317 AM_CPPFLAGS = \
318         -DDATADIR=\"$(datadir)\" \
319         -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \
320         -DLOCALEDIR=\"$(datadir)/locale\" \
321         -DSYSCONFDIR=\"$(sysconfdir)\" \
322         $(GLIB_CFLAGS) \
323         $(DEBUG_CFLAGS) \
324         $(DBUS_CFLAGS) \
325         $(LIBXML_CFLAGS) \
326         $(FARSIGHT_CFLAGS) \
327         $(GSTREAMER_CFLAGS) \
328         $(GSTINTERFACES_CFLAGS) \
329         $(IDN_CFLAGS) \
330         $(NETWORKMANAGER_CFLAGS)
332 # INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty.
333 # We want to use SSL_CERTIFICATES_DIR when it's not empty.
334 if ! INSTALL_SSL_CERTIFICATES
335 AM_CPPFLAGS += -DSSL_CERTIFICATES_DIR=\"$(SSL_CERTIFICATES_DIR)\"
336 endif