1
2dbusdatadir=$(datadir)/dbus-1
3
4AM_CPPFLAGS = \
5	$(CODE_COVERAGE_CPPFLAGS) \
6	-I$(top_builddir) \
7	-I$(top_srcdir) \
8	$(DBUS_STATIC_BUILD_CPPFLAGS) \
9	$(SYSTEMD_CFLAGS) \
10	$(VALGRIND_CFLAGS) \
11	-DDBUS_COMPILATION \
12	-DDBUS_MACHINE_UUID_FILE=\""$(localstatedir)/lib/dbus/machine-id"\" \
13	-DDBUS_SYSTEM_CONFIG_FILE=\""$(dbusdatadir)/system.conf"\" \
14	-DDBUS_SESSION_CONFIG_FILE=\""$(dbusdatadir)/session.conf"\" \
15	-DDBUS_RUNSTATEDIR=\""$(runstatedir)"\" \
16	$(NULL)
17
18AM_CFLAGS = \
19	$(CODE_COVERAGE_CFLAGS) \
20	$(NULL)
21
22if HAVE_VISIBILITY
23if !DBUS_WIN
24AM_CFLAGS += $(CFLAG_VISIBILITY)
25AM_CPPFLAGS += \
26	-DDBUS_EXPORT='__attribute__((__visibility__("default")))' \
27	-DDBUS_PRIVATE_EXPORT='__attribute__((__visibility__("default")))' \
28	$(NULL)
29endif
30endif
31
32# if assertions are enabled, improve backtraces
33AM_LDFLAGS = @R_DYNAMIC_LDFLAG@
34
35dbusincludedir=$(includedir)/dbus-1.0/dbus
36dbusarchincludedir=$(libdir)/dbus-1.0/include/dbus
37
38lib_LTLIBRARIES=libdbus-1.la
39
40# Initialize to empty so that we can append later
41nodist_libdbus_1_la_SOURCES =
42
43#
44# Deal with W32 .def and version-info.rc stuff
45#
46if DBUS_WIN
47
48SUFFIXES = .rc
49
50.rc.lo:
51	$(LIBTOOL) $(AM_V_lt) --tag=RC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(RC) $< -o $@
52
53endif
54
55
56#
57# Platform-dependent sources:
58#
59if DBUS_WIN
60DBUS_LIB_arch_sources = 			\
61	dbus-server-win.c 			\
62	dbus-server-win.h			\
63	$(NULL)
64
65nodist_libdbus_1_la_SOURCES += \
66	versioninfo.rc \
67	$(NULL)
68
69if DBUS_WINCE
70wince_source = dbus-sysdeps-wince-glue.h dbus-sysdeps-wince-glue.c
71else
72wince_source =
73endif
74
75DBUS_SHARED_arch_sources = 			\
76	$(wince_source)				\
77	dbus-file-win.c 			\
78	dbus-pipe-win.c 			\
79	dbus-sockets-win.h			\
80	dbus-sysdeps-win.c 			\
81	dbus-sysdeps-win.h			\
82	dbus-sysdeps-thread-win.c		\
83	dbus-transport-win.c			\
84	dbus-transport-win.h
85
86DBUS_UTIL_arch_sources =			\
87	dbus-sysdeps-util-win.c			\
88	dbus-spawn-win.c
89else
90
91if DBUS_ENABLE_LAUNCHD
92launchd_source = dbus-server-launchd.h dbus-server-launchd.c
93else
94launchd_source =
95endif
96
97DBUS_LIB_arch_sources = 			\
98	dbus-uuidgen.c				\
99	dbus-uuidgen.h				\
100	dbus-server-unix.c 			\
101	dbus-server-unix.h
102
103DBUS_SHARED_arch_sources = 			\
104	$(launchd_source)			\
105	dbus-file-unix.c 			\
106	dbus-pipe-unix.c 			\
107	dbus-sysdeps-unix.c 			\
108	dbus-sysdeps-unix.h			\
109	dbus-sysdeps-pthread.c			\
110	dbus-transport-unix.c			\
111	dbus-transport-unix.h			\
112	dbus-userdb.c				\
113	dbus-userdb.h 				\
114	$(NULL)
115
116DBUS_UTIL_arch_sources = 			\
117	dbus-sysdeps-util-unix.c		\
118	dbus-userdb-util.c			\
119	dbus-spawn.c
120endif
121
122if HAVE_LINUX_EPOLL
123DBUS_UTIL_arch_sources += dbus-socket-set-epoll.c
124endif
125
126dbusinclude_HEADERS=				\
127	dbus.h					\
128	dbus-address.h				\
129	dbus-bus.h				\
130	dbus-connection.h			\
131	dbus-errors.h				\
132	dbus-macros.h				\
133	dbus-memory.h				\
134	dbus-message.h				\
135	dbus-misc.h				\
136	dbus-pending-call.h			\
137	dbus-protocol.h				\
138	dbus-server.h				\
139	dbus-shared.h				\
140	dbus-signature.h			\
141	dbus-syntax.h				\
142	dbus-threads.h				\
143	dbus-types.h
144
145
146nodist_dbusarchinclude_HEADERS=			\
147	dbus-arch-deps.h
148
149### source code that goes in the installed client library
150### and is specific to library functionality
151DBUS_LIB_SOURCES=				\
152	dbus-address.c				\
153	dbus-auth.c				\
154	dbus-auth.h				\
155	dbus-bus.c				\
156	dbus-connection.c			\
157	dbus-connection-internal.h		\
158	dbus-credentials.c			\
159	dbus-credentials.h			\
160	dbus-errors.c				\
161	dbus-keyring.c				\
162	dbus-keyring.h				\
163	dbus-marshal-header.c			\
164	dbus-marshal-header.h			\
165	dbus-marshal-byteswap.c			\
166	dbus-marshal-byteswap.h			\
167	dbus-marshal-recursive.c		\
168	dbus-marshal-recursive.h		\
169	dbus-marshal-validate.c			\
170	dbus-marshal-validate.h			\
171	dbus-message.c				\
172	dbus-message-internal.h			\
173	dbus-message-private.h			\
174	dbus-misc.c				\
175	dbus-nonce.h				\
176	dbus-nonce.c				\
177	dbus-object-tree.c			\
178	dbus-object-tree.h			\
179	dbus-pending-call.c			\
180	dbus-pending-call-internal.h		\
181	dbus-resources.c			\
182	dbus-resources.h			\
183	dbus-server.c				\
184	dbus-server-debug-pipe.c		\
185	dbus-server-debug-pipe.h		\
186	dbus-server-protected.h			\
187	dbus-server-socket.c			\
188	dbus-server-socket.h			\
189	$(DBUS_LIB_arch_sources)		\
190	dbus-sha.c				\
191	dbus-sha.h				\
192	dbus-signature.c			\
193	dbus-syntax.c				\
194	dbus-timeout.c				\
195	dbus-timeout.h				\
196	dbus-threads-internal.h			\
197	dbus-threads.c				\
198	dbus-transport.c			\
199	dbus-transport.h			\
200	dbus-transport-protected.h		\
201	dbus-transport-socket.c			\
202	dbus-transport-socket.h			\
203	dbus-watch.c				\
204	dbus-watch.h
205
206### source code that goes in the installed client library
207### AND is generic utility functionality used by the
208### daemon or test programs (all symbols in here should
209### be underscore-prefixed)
210DBUS_SHARED_SOURCES=				\
211	dbus-dataslot.c				\
212	dbus-dataslot.h				\
213	dbus-file.c                 \
214	dbus-file.h                 \
215	dbus-hash.c				\
216	dbus-hash.h				\
217	dbus-internals.c			\
218	dbus-internals.h			\
219	dbus-list.c				\
220	dbus-list.h				\
221	dbus-marshal-basic.c			\
222	dbus-marshal-basic.h			\
223	dbus-memory.c				\
224	dbus-mempool.c				\
225	dbus-mempool.h				\
226	dbus-pipe.c                 \
227	dbus-pipe.h                 \
228	dbus-string.c				\
229	dbus-string.h				\
230	dbus-string-private.h			\
231	$(DBUS_SHARED_arch_sources)		\
232	dbus-sysdeps.c				\
233	dbus-sysdeps.h				\
234	dbus-valgrind-internal.h
235
236### source code that is generic utility functionality used
237### by the bus daemon or test apps, but is NOT included
238### in the D-Bus client library (all symbols in here
239### should be underscore-prefixed but don't really need
240### to be unless they move to DBUS_SHARED_SOURCES later)
241DBUS_UTIL_SOURCES=				\
242	dbus-asv-util.c				\
243	dbus-asv-util.h				\
244	dbus-auth-script.c			\
245	dbus-auth-script.h			\
246	dbus-auth-util.c			\
247	dbus-credentials-util.c			\
248	dbus-mainloop.c				\
249	dbus-mainloop.h				\
250	dbus-marshal-byteswap-util.c		\
251	dbus-marshal-recursive-util.c		\
252	dbus-marshal-validate-util.c		\
253	dbus-message-factory.c			\
254	dbus-message-factory.h			\
255	dbus-message-util.c			\
256	dbus-shell.c				\
257	dbus-shell.h				\
258	$(DBUS_UTIL_arch_sources)		\
259	dbus-socket-set.h			\
260	dbus-socket-set.c			\
261	dbus-socket-set-poll.c			\
262	dbus-spawn.h				\
263	dbus-string-util.c			\
264	dbus-sysdeps-util.c			\
265	dbus-test.c				\
266	dbus-test.h
267
268if DBUS_ENABLE_EMBEDDED_TESTS
269DBUS_UTIL_SOURCES += dbus-spawn-test.c
270endif
271
272libdbus_1_la_SOURCES=				\
273	$(DBUS_LIB_SOURCES)			\
274	$(DBUS_SHARED_SOURCES)
275
276libdbus_internal_la_SOURCES=			\
277	$(DBUS_UTIL_SOURCES)
278
279BUILT_SOURCES=$(nodist_dbusarchinclude_HEADERS)
280EXTRA_DIST=dbus-arch-deps.h.in
281
282noinst_LTLIBRARIES=libdbus-internal.la
283
284libdbus_1_la_CPPFLAGS = \
285	$(AM_CPPFLAGS) \
286	-Ddbus_1_EXPORTS \
287	$(NULL)
288
289if HAVE_LD_VERSION_SCRIPT
290SYMBOL_EXPORT_LDFLAGS=-Wl,--version-script=Version
291else
292SYMBOL_EXPORT_LDFLAGS=
293endif
294
295libdbus_1_la_LIBADD= $(LIBDBUS_LIBS)
296libdbus_1_la_LDFLAGS = \
297	$(AM_LDFLAGS) \
298	-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
299	$(SYMBOL_EXPORT_LDFLAGS) \
300	-no-undefined \
301	$(NULL)
302
303libdbus_internal_la_LIBADD=$(LIBDBUS_LIBS) libdbus-1.la
304
305if DBUS_WIN
306AM_CXXFLAGS = \
307	$(CODE_COVERAGE_CXXFLAGS) \
308	$(NULL)
309
310# This must be a separate convenience library, otherwise libtool notices
311# that libdbus-1 might contain C++, links it with g++ and links in libstdc++,
312# even on Unix where in fact it doesn't contain any C++. For Windows, where
313# this code is used, we don't actually need libstdc++.
314noinst_LTLIBRARIES += libdbus-init-win.la
315libdbus_init_win_la_SOURCES = dbus-init-win.cpp
316libdbus_1_la_LIBADD += libdbus-init-win.la
317endif
318
319noinst_PROGRAMS =
320
321if DBUS_ENABLE_EMBEDDED_TESTS
322# We can't actually run this til we've reached test/
323noinst_PROGRAMS += test-dbus
324endif
325
326test_dbus_SOURCES=				\
327	dbus-test-main.c
328
329test_dbus_LDADD = libdbus-internal.la
330
331# Add rules for code-coverage testing, as defined by AX_CODE_COVERAGE
332include $(top_srcdir)/aminclude_static.am
333
334clean-local:
335	$(AM_V_at)rm -fr ./.dbus-keyrings
336