Write this item more similarly to other items
[pidgin-git.git] / libpurple / Makefile.am
blobc6e49a2a396d5d5698eac7cbc571ec98bfdb4ff4
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         value.h \
160         xmlnode.h \
161         whiteboard.h
163 purple_mediaheaders = \
164         backend-iface.h \
165         candidate.h \
166         codec.h \
167         enum-types.h
169 purple_builtheaders = purple.h version.h marshallers.h
171 marshallers.h: marshallers.list
172         $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --header > marshallers.h
174 marshallers.c: marshallers.list marshallers.h
175         $(AM_V_GEN)echo "#include \"marshallers.h\"" > marshallers.c
176         $(AM_V_at)$(GLIB_GENMARSHAL) --prefix=purple_smarshal $(srcdir)/marshallers.list --body >> marshallers.c
178 if ENABLE_DBUS
180 CLEANFILES = \
181         dbus-bindings.c \
182         dbus-client-binding.c \
183         dbus-client-binding.h \
184         dbus-signals.c \
185         dbus-types.c \
186         dbus-types.h \
187         marshallers.c \
188         marshallers.h \
189         purple-client-bindings.c \
190         purple-client-bindings.h \
191         purple.service
193 # purple dbus server
195 dbus_sources  = dbus-server.c dbus-useful.c
196 dbus_headers  = dbus-bindings.h dbus-purple.h dbus-server.h dbus-useful.h dbus-define-api.h dbus-types.h
198 dbus_exported = dbus-useful.h dbus-define-api.h account.h blist.h buddyicon.h \
199                 connection.h conversation.h core.h ft.h log.h notify.h prefs.h roomlist.h \
200                 savedstatuses.h smiley.h status.h server.h util.h xmlnode.h prpl.h
202 purple_build_coreheaders = $(addprefix $(srcdir)/, $(purple_coreheaders)) \
203                 $(addprefix $(srcdir)/media/, $(purple_mediaheaders)) \
204                 $(purple_builtheaders)
205 dbus_build_exported = $(addprefix $(srcdir)/, $(dbus_exported))
206 # We should probably make this better
207 dbus_signals = $(addprefix $(srcdir)/, $(purple_coresources)) \
208         $(srcdir)/protocols/irc/irc.c \
209         $(srcdir)/protocols/jabber/libxmpp.c
211 dbus-types.c: dbus-analyze-types.py $(purple_build_coreheaders)
212         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DEFINE_TYPE\(%s\) > $@
214 dbus-types.h: dbus-analyze-types.py $(purple_build_coreheaders)
215         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DECLARE_TYPE\(%s\) > $@
217 dbus-bindings.c: dbus-analyze-functions.py $(dbus_exported)
218         $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py > $@
220 dbus-signals.c: dbus-analyze-signals.py $(dbus_signals)
221         $(AM_V_GEN)cat $(dbus_signals) | $(PYTHON) $(srcdir)/dbus-analyze-signals.py > $@
223 dbus-server.$(OBJEXT): dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
224 dbus-server.lo: dbus-bindings.c dbus-signals.c dbus-types.c dbus-types.h
225 $(libpurple_la_OBJECTS): dbus-types.h
227 # libpurple-client
229 libpurple_client_lib = libpurple-client.la
231 libpurple_client_la_SOURCES = purple-client.c purple-client.h
232 libpurple_client_la_LDFLAGS = -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
233 libpurple_client_la_LIBADD = $(DBUS_LIBS)
235 purple-client-bindings.c: dbus-analyze-functions.py $(dbus_exported)
236         $(AM_V_GEN)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client > $@
238 purple-client-bindings.h: dbus-analyze-types.py dbus-analyze-functions.py $(purple_coreheaders) $(addprefix media/, $(purple_mediaheaders)) $(purple_builtheaders) $(dbus_exported)
239         $(AM_V_GEN)cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim > $@
240         $(AM_V_at)cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers >> $@
242 $(libpurple_client_la_OBJECTS): purple-client-bindings.h purple-client-bindings.c
244 # purple-client-example
246 purple_client_example_SOURCES = purple-client-example.c
248 purple_client_example_DEPENDENCIES = libpurple-client.la
250 purple_client_example_LDADD = \
251         libpurple-client.la \
252         $(GLIB_LIBS) \
253         $(DBUS_LIBS)
255 bin_PROGRAMS = purple-client-example
257 purple-client-example.$(OBJEXT): purple-client-bindings.h
259 # scripts
261 bin_SCRIPTS = purple-remote purple-send purple-send-async purple-url-handler
263 BUILT_SOURCES = $(purple_builtheaders) \
264         $(purple_builtsources) \
265         dbus-bindings.c \
266         dbus-signals.c \
267         dbus-types.c \
268         dbus-types.h \
269         purple-client-bindings.c \
270         purple-client-bindings.h
272 else
274 BUILT_SOURCES = $(purple_builtheaders) $(purple_builtsources)
276 endif
278 lib_LTLIBRARIES = libpurple.la $(libpurple_client_lib)
280 libpurple_la_SOURCES = \
281         $(purple_coresources) \
282         $(purple_builtsources) \
283         $(dbus_sources)
285 noinst_HEADERS= \
286         internal.h \
287         media/backend-fs2.h \
288         valgrind.h
290 libpurpleincludedir=$(includedir)/libpurple
291 libpurpleinclude_HEADERS = \
292         $(purple_coreheaders) \
293         $(purple_builtheaders) \
294         $(dbus_headers)
296 mediaincludedir=$(includedir)/libpurple/media
297 mediainclude_HEADERS = \
298         $(addprefix $(srcdir)/media/, $(purple_mediaheaders))
300 libpurple_la_DEPENDENCIES = $(STATIC_LINK_LIBS)
301 libpurple_la_LDFLAGS = -export-dynamic -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
302 libpurple_la_LIBADD = \
303         $(STATIC_LINK_LIBS) \
304         $(DBUS_LIBS) \
305         $(GLIB_LIBS) \
306         $(LIBXML_LIBS) \
307         $(NETWORKMANAGER_LIBS) \
308         $(INTLLIBS) \
309         $(FARSIGHT_LIBS) \
310         $(GSTREAMER_LIBS) \
311         $(GSTINTERFACES_LIBS) \
312         $(IDN_LIBS) \
313         ciphers/libpurple-ciphers.la \
314         -lm
316 AM_CPPFLAGS = \
317         -DDATADIR=\"$(datadir)\" \
318         -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \
319         -DLOCALEDIR=\"$(datadir)/locale\" \
320         -DSYSCONFDIR=\"$(sysconfdir)\" \
321         $(GLIB_CFLAGS) \
322         $(DEBUG_CFLAGS) \
323         $(DBUS_CFLAGS) \
324         $(LIBXML_CFLAGS) \
325         $(FARSIGHT_CFLAGS) \
326         $(GSTREAMER_CFLAGS) \
327         $(GSTINTERFACES_CFLAGS) \
328         $(IDN_CFLAGS) \
329         $(NETWORKMANAGER_CFLAGS)
331 # INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty.
332 # We want to use SSL_CERTIFICATES_DIR when it's not empty.
333 if ! INSTALL_SSL_CERTIFICATES
334 AM_CPPFLAGS += -DSSL_CERTIFICATES_DIR=\"$(SSL_CERTIFICATES_DIR)\"
335 endif