Fix crashes when filenames end up being NULL in some prpls.
[pidgin-git.git] / libpurple / Makefile.am
blob8a11b0098db96443f821335128419230b7b82d42
1 EXTRA_DIST = \
2                 dbus-analyze-functions.py \
3                 dbus-analyze-types.py \
4                 purple-notifications-example \
5                 purple-remote \
6                 purple-send \
7                 purple-send-async \
8                 purple-url-handler \
9                 purple.h.in \
10                 purple.pc.in \
11                 purple-uninstalled.pc.in \
12                 version.h.in \
13                 Makefile.mingw \
14                 win32/global.mak \
15                 win32/libc_interface.c \
16                 win32/libc_interface.h \
17                 win32/libc_internal.h \
18                 win32/libpurplerc.rc.in \
19                 win32/rules.mak \
20                 win32/targets.mak \
21                 win32/wpurpleerror.h \
22                 win32/win32dep.c \
23                 win32/giowin32.c \
24                 win32/win32dep.h
26 if USE_GCONFTOOL
27 GCONF_DIR=gconf
28 endif
30 pkgconfigdir = $(libdir)/pkgconfig
31 pkgconfig_DATA = purple.pc
33 SUBDIRS = $(GCONF_DIR) plugins protocols tests . example
35 purple_coresources = \
36         account.c \
37         accountopt.c \
38         blist.c \
39         buddyicon.c \
40         certificate.c \
41         cipher.c \
42         circbuffer.c \
43         cmds.c \
44         connection.c \
45         conversation.c \
46         core.c \
47         debug.c \
48         desktopitem.c \
49         eventloop.c \
50         ft.c \
51         idle.c \
52         imgstore.c \
53         log.c \
54         mime.c \
55         nat-pmp.c \
56         network.c \
57         ntlm.c \
58         notify.c \
59         plugin.c \
60         pluginpref.c \
61         pounce.c \
62         prefs.c \
63         privacy.c \
64         proxy.c \
65         prpl.c \
66         request.c \
67         roomlist.c \
68         savedstatuses.c \
69         server.c \
70         signals.c \
71         smiley.c \
72         dnsquery.c \
73         dnssrv.c\
74         status.c \
75         stringref.c \
76         stun.c \
77         sound.c \
78         sslconn.c \
79         upnp.c \
80         util.c \
81         value.c \
82         version.c \
83         xmlnode.c \
84         whiteboard.c
86 purple_coreheaders = \
87         account.h \
88         accountopt.h \
89         blist.h \
90         buddyicon.h \
91         certificate.h \
92         cipher.h \
93         circbuffer.h \
94         cmds.h \
95         connection.h \
96         conversation.h \
97         core.h \
98         dbus-maybe.h \
99         debug.h \
100         desktopitem.h \
101         eventloop.h \
102         ft.h \
103         gaim-compat.h \
104         idle.h \
105         imgstore.h \
106         log.h \
107         mime.h \
108         nat-pmp.h \
109         network.h \
110         notify.h \
111         ntlm.h \
112         plugin.h \
113         pluginpref.h \
114         pounce.h \
115         prefs.h \
116         privacy.h \
117         proxy.h \
118         prpl.h \
119         request.h \
120         roomlist.h \
121         savedstatuses.h \
122         server.h \
123         signals.h \
124         smiley.h \
125         dnsquery.h \
126         dnssrv.h \
127         status.h \
128         stringref.h \
129         stun.h \
130         sound.h \
131         sslconn.h \
132         upnp.h \
133         util.h \
134         value.h \
135         xmlnode.h \
136         whiteboard.h
138 purple_builtheaders = purple.h version.h
140 if ENABLE_DBUS
142 CLEANFILES = \
143         dbus-bindings.c \
144         dbus-client-binding.c \
145         dbus-client-binding.h \
146         dbus-types.c \
147         dbus-types.h \
148         purple-client-bindings.c \
149         purple-client-bindings.h \
150         purple.service
152 # purple dbus server
154 dbus_sources  = dbus-server.c dbus-useful.c
155 dbus_headers  = dbus-bindings.h dbus-purple.h dbus-server.h dbus-useful.h dbus-define-api.h dbus-types.h
157 dbus_exported = dbus-useful.h dbus-define-api.h account.h blist.h buddyicon.h \
158                 connection.h conversation.h core.h ft.h log.h notify.h prefs.h roomlist.h \
159                 savedstatuses.h smiley.h status.h server.h util.h xmlnode.h prpl.h
161 purple_build_coreheaders = $(addprefix $(srcdir)/, $(purple_coreheaders)) \
162                 $(purple_builtheaders)
163 dbus_build_exported = $(addprefix $(srcdir)/, $(dbus_exported))
165 dbus-types.c: dbus-analyze-types.py $(purple_build_coreheaders)
166         cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DEFINE_TYPE\(%s\) > $@
168 dbus-types.h: dbus-analyze-types.py $(purple_build_coreheaders)
169         cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --pattern=PURPLE_DBUS_DECLARE_TYPE\(%s\) > $@
171 dbus-bindings.c: dbus-analyze-functions.py $(dbus_exported)
172         cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py > $@
174 dbus-server.$(OBJEXT): dbus-bindings.c dbus-types.c dbus-types.h
175 dbus-server.lo: dbus-bindings.c dbus-types.c dbus-types.h
176 $(libpurple_la_OBJECTS): dbus-types.h
178 # libpurple-client
180 libpurple_client_lib = libpurple-client.la
182 libpurple_client_la_SOURCES = purple-client.c purple-client.h
183 libpurple_client_la_LDFLAGS = -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
184 libpurple_client_la_LIBADD = $(DBUS_LIBS)
186 purple-client-bindings.c: dbus-analyze-functions.py $(dbus_exported)
187         cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client > $@
189 purple-client-bindings.h: dbus-analyze-types.py dbus-analyze-functions.py $(purple_coreheaders) $(purple_builtheaders) $(dbus_exported)
190         cat $(purple_build_coreheaders) | $(PYTHON) $(srcdir)/dbus-analyze-types.py --keyword=enum --verbatim > $@
191         cat $(dbus_build_exported) | $(PYTHON) $(srcdir)/dbus-analyze-functions.py --client --headers >> $@
193 $(libpurple_client_la_OBJECTS): purple-client-bindings.h purple-client-bindings.c
195 # purple-client-example
197 purple_client_example_SOURCES = purple-client-example.c
199 purple_client_example_DEPENDENCIES = libpurple-client.la
201 purple_client_example_LDADD = \
202         libpurple-client.la \
203         $(GLIB_LIBS) \
204         $(DBUS_LIBS)
206 bin_PROGRAMS = purple-client-example
208 purple-client-example.$(OBJEXT): purple-client-bindings.h
210 # scripts
212 bin_SCRIPTS = purple-remote purple-send purple-send-async purple-url-handler
214 BUILT_SOURCES = $(purple_builtheaders) \
215         dbus-types.c \
216         dbus-types.h \
217         dbus-bindings.c \
218         purple-client-bindings.c \
219         purple-client-bindings.h
221 else
223 BUILT_SOURCES = $(purple_builtheaders)
225 endif
227 lib_LTLIBRARIES = libpurple.la $(libpurple_client_lib)
229 libpurple_la_SOURCES = \
230         $(purple_coresources) \
231         $(dbus_sources)
233 noinst_HEADERS= \
234         internal.h 
236 libpurpleincludedir=$(includedir)/libpurple
237 libpurpleinclude_HEADERS = \
238         $(purple_coreheaders) \
239         $(purple_builtheaders) \
240         $(dbus_headers)
242 libpurple_la_DEPENDENCIES = $(STATIC_LINK_LIBS)
243 libpurple_la_LDFLAGS = -export-dynamic -version-info $(PURPLE_LT_VERSION_INFO) -no-undefined
244 libpurple_la_LIBADD = \
245         $(STATIC_LINK_LIBS) \
246         $(DBUS_LIBS) \
247         $(GLIB_LIBS) \
248         $(LIBXML_LIBS) \
249         $(NETWORKMANAGER_LIBS) \
250         $(INTLLIBS) \
251         -lm
253 AM_CPPFLAGS = \
254         -DBR_PTHREADS=0 \
255         -DDATADIR=\"$(datadir)\" \
256         -DLIBDIR=\"$(libdir)/purple-$(PURPLE_MAJOR_VERSION)/\" \
257         -DLOCALEDIR=\"$(datadir)/locale\" \
258         -DSYSCONFDIR=\"$(sysconfdir)\" \
259         $(GLIB_CFLAGS) \
260         $(DEBUG_CFLAGS) \
261         $(DBUS_CFLAGS) \
262         $(LIBXML_CFLAGS) \
263         $(NETWORKMANAGER_CFLAGS)
265 # INSTALL_SSL_CERTIFICATES is true when SSL_CERTIFICATES_DIR is empty.
266 # We want to use SSL_CERTIFICATES_DIR when it's not empty.
267 if ! INSTALL_SSL_CERTIFICATES
268 AM_CPPFLAGS += -DSSL_CERTIFICATES_DIR=\"$(SSL_CERTIFICATES_DIR)\"
269 endif