xen: Add Xen paravirtualized sink support.
[profile/ivi/pulseaudio.git] / src / Makefile.am
1 # This file is part of PulseAudio.
2 #
3 # Copyright 2004-2006 Lennart Poettering
4 # Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
5 # Copyright 2006 Diego Pettenò
6 #
7 # PulseAudio is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU Lesser General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
11 #
12 # PulseAudio is distributed in the hope that it will be useful, but
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 # General Public License for more details.
16 #
17 # You should have received a copy of the GNU Lesser General Public License
18 # along with PulseAudio; if not, write to the Free Software
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 # USA.
21
22 ###################################
23 #       Extra directories         #
24 ###################################
25
26 pulseincludedir=$(includedir)/pulse
27 pulsecoreincludedir=$(includedir)/pulsecore
28 pulselibexecdir=$(libexecdir)/pulse
29 if HAVE_X11
30 xdgautostartdir=$(sysconfdir)/xdg/autostart
31 endif
32 if HAVE_ALSA
33 alsaprofilesetsdir=$(datadir)/pulseaudio/alsa-mixer/profile-sets
34 alsapathsdir=$(datadir)/pulseaudio/alsa-mixer/paths
35 endif
36 if HAVE_DBUS
37 dbuspolicydir=$(sysconfdir)/dbus-1/system.d
38 endif
39
40 ###################################
41 #     Compiler/linker flags       #
42 ###################################
43
44 AM_CFLAGS = \
45         -I$(top_srcdir)/src \
46         -I$(top_srcdir)/src/modules \
47         -I$(top_builddir)/src/modules \
48         $(PTHREAD_CFLAGS) \
49         -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
50         -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
51 AM_CXXFLAGS = $(AM_CFLAGS)
52 SERVER_CFLAGS = -D__INCLUDED_FROM_PULSE_AUDIO
53
54 AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
55 AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
56 AM_LDFLAGS = $(NODELETE_LDFLAGS)
57
58 if STATIC_BINS
59 BINLDFLAGS = -static
60 endif
61
62 if OS_IS_WIN32
63 AM_LDFLAGS+=-Wl,--export-all-symbols,--enable-auto-import -no-undefined
64 WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet
65 endif
66
67 if OS_IS_DARWIN
68 AM_LDFLAGS+=-Wl,-headerpad_max_install_names -headerpad_max_install_names
69 endif
70
71 FOREIGN_CFLAGS = -w
72
73 MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(NOUNDEFINED_LDFLAGS)
74 MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
75
76 ###################################
77 #          Extra files            #
78 ###################################
79
80 EXTRA_DIST = \
81                 pulse/client.conf.in \
82                 pulse/version.h.in \
83                 daemon/daemon.conf.in \
84                 daemon/default.pa.in \
85                 daemon/system.pa.in \
86                 depmod.py \
87                 daemon/esdcompat.in \
88                 daemon/start-pulseaudio-x11.in \
89                 daemon/start-pulseaudio-kde.in \
90                 utils/padsp.in \
91                 utils/qpaeq \
92                 modules/module-defs.h.m4 \
93                 daemon/pulseaudio.desktop.in \
94                 daemon/pulseaudio-kde.desktop.in \
95                 map-file \
96                 daemon/pulseaudio-system.conf \
97                 modules/echo-cancel/adrian-license.txt
98
99 pulseconf_DATA = \
100                 default.pa \
101                 system.pa \
102                 daemon.conf \
103                 client.conf
104
105 if HAVE_DBUS
106 dbuspolicy_DATA = \
107                 daemon/pulseaudio-system.conf
108 endif
109
110 if HAVE_X11
111 xdgautostart_in_files = \
112                 daemon/pulseaudio.desktop.in \
113                 daemon/pulseaudio-kde.desktop.in
114 xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop)
115 @INTLTOOL_DESKTOP_RULE@
116 endif
117
118
119 ###################################
120 #          Includes               #
121 ###################################
122
123 BUILT_SOURCES =
124 CLEANFILES =
125 include $(top_srcdir)/orc.mak
126 ORC_SOURCE =
127
128 ###################################
129 #          Main daemon            #
130 ###################################
131
132 bin_PROGRAMS = pulseaudio
133
134 pulseaudio_SOURCES = \
135                 daemon/caps.c daemon/caps.h \
136                 daemon/cmdline.c daemon/cmdline.h \
137                 daemon/cpulimit.c daemon/cpulimit.h \
138                 daemon/daemon-conf.c daemon/daemon-conf.h \
139                 daemon/dumpmodules.c daemon/dumpmodules.h \
140                 daemon/ltdl-bind-now.c daemon/ltdl-bind-now.h \
141                 daemon/main.c
142
143 pulseaudio_CFLAGS = $(AM_CFLAGS) $(CAP_CFLAGS)
144 pulseaudio_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(LIBLTDL) $(CAP_LIBS)
145 # This is needed because automake doesn't properly expand the foreach below
146 pulseaudio_DEPENDENCIES = libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(PREOPEN_LIBS)
147
148 if HAVE_DBUS
149 pulseaudio_CFLAGS += $(DBUS_CFLAGS)
150 pulseaudio_SOURCES += daemon/server-lookup.c daemon/server-lookup.h
151 pulseaudio_LDADD += $(DBUS_LIBS)
152 endif
153
154 if PREOPEN_MODS
155 PREOPEN_LIBS = $(PREOPEN_MODS)
156 else
157 PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)
158 endif
159
160 if FORCE_PREOPEN
161 pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
162 else
163 pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
164 endif
165
166 ###################################
167 #       Utility programs          #
168 ###################################
169
170 bin_SCRIPTS = esdcompat
171
172 bin_PROGRAMS += \
173                 pacat \
174                 pactl
175
176 if !OS_IS_WIN32
177 bin_PROGRAMS += pasuspender
178 endif
179
180 if HAVE_AF_UNIX
181 bin_PROGRAMS += pacmd
182 endif
183
184 if HAVE_X11
185 bin_PROGRAMS += pax11publish
186 bin_SCRIPTS += start-pulseaudio-x11 start-pulseaudio-kde
187 endif
188
189 pacat_SOURCES = utils/pacat.c
190 pacat_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(LIBSNDFILE_LIBS)
191 pacat_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
192 pacat_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
193
194 pactl_SOURCES = utils/pactl.c
195 pactl_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(LIBSNDFILE_LIBS)
196 pactl_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
197 pactl_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
198
199 pasuspender_SOURCES = utils/pasuspender.c
200 pasuspender_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
201 pasuspender_CFLAGS = $(AM_CFLAGS)
202 pasuspender_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
203
204 pacmd_SOURCES = utils/pacmd.c
205 pacmd_CFLAGS = $(AM_CFLAGS)
206 pacmd_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
207 pacmd_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
208
209 pax11publish_SOURCES = utils/pax11publish.c
210 pax11publish_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
211 pax11publish_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(X11_LIBS)
212 pax11publish_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
213
214 ###################################
215 #         Test programs           #
216 ###################################
217
218 TESTS_default = \
219                 mainloop-test \
220                 strlist-test \
221                 close-test \
222                 memblockq-test \
223                 channelmap-test \
224                 thread-mainloop-test \
225                 utf8-test \
226                 format-test \
227                 get-binary-name-test \
228                 ipacl-test \
229                 hook-list-test \
230                 memblock-test \
231                 asyncq-test \
232                 asyncmsgq-test \
233                 queue-test \
234                 rtpoll-test \
235                 resampler-test \
236                 smoother-test \
237                 thread-test \
238                 volume-test \
239                 mix-test \
240                 proplist-test \
241                 lock-autospawn-test
242
243 TESTS_norun = \
244                 mcalign-test \
245                 pacat-simple \
246                 parec-simple \
247                 flist-test \
248                 remix-test \
249                 rtstutter \
250                 sig2str-test \
251                 stripnul \
252                 echo-cancel-test
253
254 # These tests need a running pulseaudio daemon
255 TESTS_daemon = \
256                 connect-stress \
257                 extended-test \
258                 interpol-test \
259                 sync-playback
260
261 if !OS_IS_WIN32
262 TESTS_default += \
263                 sigbus-test \
264                 usergroup-test
265 endif
266
267 if !OS_IS_DARWIN
268 TESTS_default += \
269                 once-test
270 endif
271
272 if HAVE_SIGXCPU
273 TESTS_norun += \
274                 cpulimit-test \
275                 cpulimit-test2
276 endif
277
278 if HAVE_GLIB20
279 TESTS_default += \
280                 mainloop-test-glib
281 endif
282
283 if HAVE_GTK20
284 TESTS_norun += \
285                 gtk-test
286 endif
287
288 if HAVE_ALSA
289 TESTS_norun += \
290                 alsa-time-test
291 endif
292
293 TESTS_ENVIRONMENT=MAKE_CHECK=1
294 TESTS = $(TESTS_default)
295
296 if BUILD_TESTS_DEFAULT
297 noinst_PROGRAMS = $(TESTS_default) $(TESTS_norun) $(TESTS_daemon)
298 else
299 check_PROGRAMS = $(TESTS_default) $(TESTS_norun) $(TESTS_daemon)
300 endif
301
302 check-daemon:
303         $(MAKE) check TESTS="$(TESTS_daemon)"
304
305 mainloop_test_SOURCES = tests/mainloop-test.c
306 mainloop_test_CFLAGS = $(AM_CFLAGS)
307 mainloop_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
308 mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
309
310 thread_mainloop_test_SOURCES = tests/thread-mainloop-test.c
311 thread_mainloop_test_CFLAGS = $(AM_CFLAGS)
312 thread_mainloop_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
313 thread_mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
314
315 utf8_test_SOURCES = tests/utf8-test.c
316 utf8_test_CFLAGS = $(AM_CFLAGS)
317 utf8_test_LDADD = $(AM_LDADD) libpulse.la
318 utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
319
320 format_test_SOURCES = tests/format-test.c
321 format_test_CFLAGS = $(AM_CFLAGS)
322 format_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
323 format_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
324
325 get_binary_name_test_SOURCES = tests/get-binary-name-test.c
326 get_binary_name_test_CFLAGS = $(AM_CFLAGS)
327 get_binary_name_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
328 get_binary_name_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
329
330 ipacl_test_SOURCES = tests/ipacl-test.c
331 ipacl_test_CFLAGS = $(AM_CFLAGS)
332 ipacl_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
333 ipacl_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
334
335 hook_list_test_SOURCES = tests/hook-list-test.c
336 hook_list_test_CFLAGS = $(AM_CFLAGS)
337 hook_list_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
338 hook_list_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
339
340 memblock_test_SOURCES = tests/memblock-test.c
341 memblock_test_CFLAGS = $(AM_CFLAGS)
342 memblock_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
343 memblock_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
344
345 thread_test_SOURCES = tests/thread-test.c
346 thread_test_CFLAGS = $(AM_CFLAGS)
347 thread_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
348 thread_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
349
350 once_test_SOURCES = tests/once-test.c
351 once_test_CFLAGS = $(AM_CFLAGS)
352 once_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
353 once_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
354
355 flist_test_SOURCES = tests/flist-test.c
356 flist_test_CFLAGS = $(AM_CFLAGS)
357 flist_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
358 flist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
359
360 asyncq_test_SOURCES = tests/asyncq-test.c
361 asyncq_test_CFLAGS = $(AM_CFLAGS)
362 asyncq_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
363 asyncq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
364
365 asyncmsgq_test_SOURCES = tests/asyncmsgq-test.c
366 asyncmsgq_test_CFLAGS = $(AM_CFLAGS)
367 asyncmsgq_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
368 asyncmsgq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
369
370 queue_test_SOURCES = tests/queue-test.c
371 queue_test_CFLAGS = $(AM_CFLAGS)
372 queue_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
373 queue_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
374
375 rtpoll_test_SOURCES = tests/rtpoll-test.c
376 rtpoll_test_CFLAGS = $(AM_CFLAGS)
377 rtpoll_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
378 rtpoll_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
379
380 mcalign_test_SOURCES = tests/mcalign-test.c
381 mcalign_test_CFLAGS = $(AM_CFLAGS)
382 mcalign_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
383 mcalign_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
384
385 pacat_simple_SOURCES = tests/pacat-simple.c
386 pacat_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
387 pacat_simple_CFLAGS = $(AM_CFLAGS)
388 pacat_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
389
390 parec_simple_SOURCES = tests/parec-simple.c
391 parec_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
392 parec_simple_CFLAGS = $(AM_CFLAGS)
393 parec_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
394
395 extended_test_SOURCES = tests/extended-test.c
396 extended_test_LDADD = $(AM_LDADD) libpulse.la
397 extended_test_CFLAGS = $(AM_CFLAGS)
398 extended_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
399
400 strlist_test_SOURCES = tests/strlist-test.c
401 strlist_test_CFLAGS = $(AM_CFLAGS)
402 strlist_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
403 strlist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
404
405 close_test_SOURCES = tests/close-test.c
406 close_test_CFLAGS = $(AM_CFLAGS)
407 close_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
408 close_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
409
410 volume_test_SOURCES = tests/volume-test.c
411 volume_test_CFLAGS = $(AM_CFLAGS)
412 volume_test_LDADD = $(AM_LDADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
413 volume_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
414
415 channelmap_test_SOURCES = tests/channelmap-test.c
416 channelmap_test_CFLAGS = $(AM_CFLAGS)
417 channelmap_test_LDADD = $(AM_LDADD) libpulse.la
418 channelmap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
419
420 cpulimit_test_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
421 cpulimit_test_CFLAGS = $(AM_CFLAGS)
422 cpulimit_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
423 cpulimit_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
424
425 cpulimit_test2_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
426 cpulimit_test2_CFLAGS = $(AM_CFLAGS) -DTEST2
427 cpulimit_test2_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
428 cpulimit_test2_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
429
430 mainloop_test_glib_SOURCES = $(mainloop_test_SOURCES)
431 mainloop_test_glib_CFLAGS = $(mainloop_test_CFLAGS) $(GLIB20_CFLAGS) -DGLIB_MAIN_LOOP
432 mainloop_test_glib_LDADD = $(mainloop_test_LDADD) $(GLIB20_LIBS) libpulse-mainloop-glib.la
433 mainloop_test_glib_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
434
435 memblockq_test_SOURCES = tests/memblockq-test.c
436 memblockq_test_CFLAGS = $(AM_CFLAGS)
437 memblockq_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
438 memblockq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
439
440 sync_playback_SOURCES = tests/sync-playback.c
441 sync_playback_LDADD = $(AM_LDADD) libpulse.la
442 sync_playback_CFLAGS = $(AM_CFLAGS)
443 sync_playback_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
444
445 interpol_test_SOURCES = tests/interpol-test.c
446 interpol_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
447 interpol_test_CFLAGS = $(AM_CFLAGS)
448 interpol_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
449
450 sig2str_test_SOURCES = tests/sig2str-test.c
451 sig2str_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
452 sig2str_test_CFLAGS = $(AM_CFLAGS)
453 sig2str_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
454
455 resampler_test_SOURCES = tests/resampler-test.c
456 resampler_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
457 resampler_test_CFLAGS = $(AM_CFLAGS)
458 resampler_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
459
460 mix_test_SOURCES = tests/mix-test.c
461 mix_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
462 mix_test_CFLAGS = $(AM_CFLAGS)
463 mix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
464
465 remix_test_SOURCES = tests/remix-test.c
466 remix_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
467 remix_test_CFLAGS = $(AM_CFLAGS)
468 remix_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
469
470 smoother_test_SOURCES = tests/smoother-test.c
471 smoother_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
472 smoother_test_CFLAGS = $(AM_CFLAGS)
473 smoother_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
474
475 proplist_test_SOURCES = tests/proplist-test.c
476 proplist_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
477 proplist_test_CFLAGS = $(AM_CFLAGS)
478 proplist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
479
480 rtstutter_SOURCES = tests/rtstutter.c
481 rtstutter_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
482 rtstutter_CFLAGS = $(AM_CFLAGS)
483 rtstutter_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
484
485 stripnul_SOURCES = tests/stripnul.c
486 stripnul_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
487 stripnul_CFLAGS = $(AM_CFLAGS)
488 stripnul_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
489
490 lock_autospawn_test_SOURCES = tests/lock-autospawn-test.c
491 lock_autospawn_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
492 lock_autospawn_test_CFLAGS = $(AM_CFLAGS)
493 lock_autospawn_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
494
495 sigbus_test_SOURCES = tests/sigbus-test.c
496 sigbus_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
497 sigbus_test_CFLAGS = $(AM_CFLAGS)
498 sigbus_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
499
500 gtk_test_SOURCES = tests/gtk-test.c
501 gtk_test_LDADD = $(AM_LDADD) $(GTK20_LIBS) libpulse-mainloop-glib.la libpulse.la
502 gtk_test_CFLAGS = $(AM_CFLAGS) $(GTK20_CFLAGS)
503 gtk_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
504
505 alsa_time_test_SOURCES = tests/alsa-time-test.c
506 alsa_time_test_LDADD = $(AM_LDADD) $(ASOUNDLIB_LIBS)
507 alsa_time_test_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
508 alsa_time_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
509
510 usergroup_test_SOURCES = tests/usergroup-test.c
511 usergroup_test_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
512 usergroup_test_CFLAGS = $(AM_CFLAGS)
513 usergroup_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
514
515 connect_stress_SOURCES = tests/connect-stress.c
516 connect_stress_LDADD = $(AM_LDADD) libpulse.la
517 connect_stress_CFLAGS = $(AM_CFLAGS)
518 connect_stress_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
519
520 echo_cancel_test_SOURCES = $(module_echo_cancel_la_SOURCES)
521 nodist_echo_cancel_test_SOURCES = $(nodist_module_echo_cancel_la_SOURCES)
522 echo_cancel_test_LDADD = $(module_echo_cancel_la_LIBADD)
523 echo_cancel_test_CFLAGS = $(module_echo_cancel_la_CFLAGS) -DECHO_CANCEL_TEST=1
524 if HAVE_WEBRTC
525 echo_cancel_test_CXXFLAGS = $(module_echo_cancel_la_CXXFLAGS) -DECHO_CANCEL_TEST=1
526 endif
527 echo_cancel_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
528
529 ###################################
530 #         Common library          #
531 ###################################
532
533 pkglib_LTLIBRARIES = \
534                 libpulsecommon-@PA_MAJORMINOR@.la
535
536 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
537                 pulse/client-conf.c pulse/client-conf.h \
538                 pulse/fork-detect.c pulse/fork-detect.h \
539                 pulsecore/atomic.h \
540                 pulsecore/authkey.c pulsecore/authkey.h \
541                 pulsecore/conf-parser.c pulsecore/conf-parser.h \
542                 pulsecore/core-error.c pulsecore/core-error.h \
543                 pulsecore/core-rtclock.c pulsecore/core-rtclock.h \
544                 pulsecore/core-util.c pulsecore/core-util.h \
545                 pulsecore/creds.h \
546                 pulsecore/dynarray.c pulsecore/dynarray.h \
547                 pulsecore/endianmacros.h \
548                 pulsecore/flist.c pulsecore/flist.h \
549                 pulsecore/hashmap.c pulsecore/hashmap.h \
550                 pulsecore/i18n.c pulsecore/i18n.h \
551                 pulsecore/idxset.c pulsecore/idxset.h \
552                 pulsecore/arpa-inet.c pulsecore/arpa-inet.h \
553                 pulsecore/iochannel.c pulsecore/iochannel.h \
554                 pulsecore/ioline.c pulsecore/ioline.h \
555                 pulsecore/ipacl.c pulsecore/ipacl.h \
556                 pulsecore/llist.h \
557                 pulsecore/lock-autospawn.c pulsecore/lock-autospawn.h \
558                 pulsecore/log.c pulsecore/log.h \
559                 pulsecore/ratelimit.c pulsecore/ratelimit.h \
560                 pulsecore/macro.h \
561                 pulsecore/mcalign.c pulsecore/mcalign.h \
562                 pulsecore/memblock.c pulsecore/memblock.h \
563                 pulsecore/memblockq.c pulsecore/memblockq.h \
564                 pulsecore/memchunk.c pulsecore/memchunk.h \
565                 pulsecore/native-common.h \
566                 pulsecore/once.c pulsecore/once.h \
567                 pulsecore/packet.c pulsecore/packet.h \
568                 pulsecore/parseaddr.c pulsecore/parseaddr.h \
569                 pulsecore/pdispatch.c pulsecore/pdispatch.h \
570                 pulsecore/pid.c pulsecore/pid.h \
571                 pulsecore/pipe.c pulsecore/pipe.h \
572                 pulsecore/poll.c pulsecore/poll.h \
573                 pulsecore/memtrap.c pulsecore/memtrap.h \
574                 pulsecore/aupdate.c pulsecore/aupdate.h \
575                 pulsecore/proplist-util.c pulsecore/proplist-util.h \
576                 pulsecore/pstream-util.c pulsecore/pstream-util.h \
577                 pulsecore/pstream.c pulsecore/pstream.h \
578                 pulsecore/queue.c pulsecore/queue.h \
579                 pulsecore/random.c pulsecore/random.h \
580                 pulsecore/refcnt.h \
581                 pulsecore/shm.c pulsecore/shm.h \
582                 pulsecore/bitset.c pulsecore/bitset.h \
583                 pulsecore/socket-client.c pulsecore/socket-client.h \
584                 pulsecore/socket-server.c pulsecore/socket-server.h \
585                 pulsecore/socket-util.c pulsecore/socket-util.h \
586                 pulsecore/strbuf.c pulsecore/strbuf.h \
587                 pulsecore/strlist.c pulsecore/strlist.h \
588                 pulsecore/tagstruct.c pulsecore/tagstruct.h \
589                 pulsecore/time-smoother.c pulsecore/time-smoother.h \
590                 pulsecore/tokenizer.c pulsecore/tokenizer.h \
591                 pulsecore/usergroup.c pulsecore/usergroup.h \
592                 pulsecore/sndfile-util.c pulsecore/sndfile-util.h \
593                 pulsecore/socket.h
594
595 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
596 libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
597 libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS)
598
599 if HAVE_X11
600 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
601                 pulse/client-conf-x11.c pulse/client-conf-x11.h \
602                 pulsecore/x11prop.c pulsecore/x11prop.h
603 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(X11_CFLAGS)
604 libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS += $(X11_LIBS)
605 endif
606
607 # proplist-util.h uses these header files, but not the library itself!
608 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(GLIB20_CFLAGS) $(GTK20_CFLAGS)
609
610 ## Please note that libpulsecommon implicitly also depends on<
611 ## libpulse! i.e. we have a cyclic dependancy here. Which is intended
612 ## since libpulse only includes stable, official APIs, while
613 ## libpulsecommon only includes unofficial APIs.
614
615 if OS_IS_WIN32
616 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
617                 pulsecore/mutex-win32.c pulsecore/mutex.h \
618                 pulsecore/thread-win32.c pulsecore/thread.h \
619                 pulsecore/semaphore-win32.c pulsecore/semaphore.h
620 else !OS_IS_WIN32
621 if OS_IS_DARWIN
622 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
623                 pulsecore/mutex-posix.c pulsecore/mutex.h \
624                 pulsecore/thread-posix.c pulsecore/thread.h \
625                 pulsecore/semaphore-osx.c pulsecore/semaphore.h
626 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += "-I/Developer/Headers/FlatCarbon/"
627 #libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS += "-framework CoreServices"
628 else !OS_IS_DARWIN
629 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
630                 pulsecore/mutex-posix.c pulsecore/mutex.h \
631                 pulsecore/thread-posix.c pulsecore/thread.h \
632                 pulsecore/semaphore-posix.c pulsecore/semaphore.h
633 endif !OS_IS_DARWIN
634 endif !OS_IS_WIN32
635
636 if HAVE_LIBASYNCNS
637 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(LIBASYNCNS_CFLAGS)
638 libpulsecommon_@PA_MAJORMINOR@_la_LIBADD += $(LIBASYNCNS_LIBS)
639 endif
640
641 if OS_IS_WIN32
642 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += pulsecore/dllmain.c
643 endif
644
645 if HAVE_DBUS
646 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += \
647                 pulsecore/dbus-util.c pulsecore/dbus-util.h \
648                 pulsecore/rtkit.c pulsecore/rtkit.h
649 libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS += $(DBUS_CFLAGS)
650 libpulsecommon_@PA_MAJORMINOR@_la_LIBADD += $(DBUS_LIBS)
651 endif
652
653 ###################################
654 #         Client library          #
655 ###################################
656
657 pulseinclude_HEADERS = \
658                 pulse/cdecl.h \
659                 pulse/channelmap.h \
660                 pulse/context.h \
661                 pulse/def.h \
662                 pulse/error.h \
663                 pulse/ext-device-manager.h \
664                 pulse/ext-device-restore.h \
665                 pulse/ext-stream-restore.h \
666                 pulse/format.h \
667                 pulse/gccmacro.h \
668                 pulse/introspect.h \
669                 pulse/mainloop-api.h \
670                 pulse/mainloop-signal.h \
671                 pulse/mainloop.h \
672                 pulse/operation.h \
673                 pulse/proplist.h \
674                 pulse/pulseaudio.h \
675                 pulse/rtclock.h \
676                 pulse/sample.h \
677                 pulse/scache.h \
678                 pulse/simple.h \
679                 pulse/stream.h \
680                 pulse/subscribe.h \
681                 pulse/thread-mainloop.h \
682                 pulse/timeval.h \
683                 pulse/utf8.h \
684                 pulse/util.h \
685                 pulse/version.h \
686                 pulse/volume.h \
687                 pulse/xmalloc.h
688
689 lib_LTLIBRARIES = \
690                 libpulse.la \
691                 libpulse-simple.la
692
693 if HAVE_GLIB20
694 pulseinclude_HEADERS += \
695                 pulse/glib-mainloop.h
696
697 lib_LTLIBRARIES += \
698                 libpulse-mainloop-glib.la
699 endif
700
701 # Public interface
702 libpulse_la_SOURCES = \
703                 pulse/cdecl.h \
704                 pulse/channelmap.c pulse/channelmap.h \
705                 pulse/context.c pulse/context.h \
706                 pulse/def.h \
707                 pulse/error.c pulse/error.h \
708                 pulse/ext-device-manager.c pulse/ext-device-manager.h \
709                 pulse/ext-device-restore.c pulse/ext-device-restore.h \
710                 pulse/ext-stream-restore.c pulse/ext-stream-restore.h \
711                 pulse/format.c pulse/format.h \
712                 pulse/gccmacro.h \
713                 pulse/internal.h \
714                 pulse/introspect.c pulse/introspect.h \
715                 pulse/mainloop-api.c pulse/mainloop-api.h \
716                 pulse/mainloop-signal.c pulse/mainloop-signal.h \
717                 pulse/mainloop.c pulse/mainloop.h \
718                 pulse/operation.c pulse/operation.h \
719                 pulse/proplist.c pulse/proplist.h \
720                 pulse/pulseaudio.h \
721                 pulse/rtclock.c pulse/rtclock.h \
722                 pulse/sample.c pulse/sample.h \
723                 pulse/scache.c pulse/scache.h \
724                 pulse/stream.c pulse/stream.h \
725                 pulse/subscribe.c pulse/subscribe.h \
726                 pulse/thread-mainloop.c pulse/thread-mainloop.h \
727                 pulse/timeval.c pulse/timeval.h \
728                 pulse/utf8.c pulse/utf8.h \
729                 pulse/util.c pulse/util.h \
730                 pulse/volume.c pulse/volume.h \
731                 pulse/xmalloc.c pulse/xmalloc.h
732
733 libpulse_la_CFLAGS = $(AM_CFLAGS) $(LIBJSON_CFLAGS)
734 libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBJSON_LIBS) libpulsecommon-@PA_MAJORMINOR@.la
735 libpulse_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_VERSION_INFO)
736
737 if HAVE_DBUS
738 libpulse_la_CFLAGS += $(DBUS_CFLAGS)
739 libpulse_la_LIBADD += $(DBUS_LIBS)
740 endif
741
742 libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h
743 libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
744 libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
745 libpulse_simple_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
746
747 libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
748 libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
749 libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la $(GLIB20_LIBS)
750 libpulse_mainloop_glib_la_LDFLAGS = $(AM_LDFLAGS) $(VERSIONING_LDFLAGS) -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
751
752 ###################################
753 #         OSS emulation           #
754 ###################################
755
756 if HAVE_OSS_WRAPPER
757 padsplibdir = $(pkglibdir)
758 padsplib_LTLIBRARIES = libpulsedsp.la
759 bin_SCRIPTS += padsp
760
761 edit = @SED@ \
762        -e "s|@pkglibdir[@]|$(pkglibdir)|g"
763
764 padsp: utils/padsp.in
765         $(edit) $< > $@
766
767 CLEANFILES += padsp
768
769 endif
770
771 libpulsedsp_la_SOURCES = utils/padsp.c
772 libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
773 libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la libpulsecommon-@PA_MAJORMINOR@.la
774 libpulsedsp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -disable-static
775
776 ###################################
777 #      Daemon core library        #
778 ###################################
779
780 lib_LTLIBRARIES += libpulsecore-@PA_MAJORMINOR@.la
781
782 # Pure core stuff
783 libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
784                 pulsecore/asyncmsgq.c pulsecore/asyncmsgq.h \
785                 pulsecore/asyncq.c pulsecore/asyncq.h \
786                 pulsecore/auth-cookie.c pulsecore/auth-cookie.h \
787                 pulsecore/cli-command.c pulsecore/cli-command.h \
788                 pulsecore/cli-text.c pulsecore/cli-text.h \
789                 pulsecore/client.c pulsecore/client.h \
790                 pulsecore/card.c pulsecore/card.h \
791                 pulsecore/core-scache.c pulsecore/core-scache.h \
792                 pulsecore/core-subscribe.c pulsecore/core-subscribe.h \
793                 pulsecore/core.c pulsecore/core.h \
794                 pulsecore/fdsem.c pulsecore/fdsem.h \
795                 pulsecore/g711.c pulsecore/g711.h \
796                 pulsecore/hook-list.c pulsecore/hook-list.h \
797                 pulsecore/ltdl-helper.c pulsecore/ltdl-helper.h \
798                 pulsecore/modargs.c pulsecore/modargs.h \
799                 pulsecore/modinfo.c pulsecore/modinfo.h \
800                 pulsecore/module.c pulsecore/module.h \
801                 pulsecore/msgobject.c pulsecore/msgobject.h \
802                 pulsecore/namereg.c pulsecore/namereg.h \
803                 pulsecore/object.c pulsecore/object.h \
804                 pulsecore/play-memblockq.c pulsecore/play-memblockq.h \
805                 pulsecore/play-memchunk.c pulsecore/play-memchunk.h \
806                 pulsecore/remap.c pulsecore/remap.h \
807                 pulsecore/remap_mmx.c pulsecore/remap_sse.c \
808                 pulsecore/resampler.c pulsecore/resampler.h \
809                 pulsecore/rtpoll.c pulsecore/rtpoll.h \
810                 pulsecore/sample-util.c pulsecore/sample-util.h \
811                 pulsecore/cpu.h \
812                 pulsecore/cpu-arm.c pulsecore/cpu-arm.h \
813                 pulsecore/cpu-x86.c pulsecore/cpu-x86.h \
814                 pulsecore/cpu-orc.c pulsecore/cpu-orc.h \
815                 pulsecore/svolume_c.c pulsecore/svolume_arm.c \
816                 pulsecore/svolume_mmx.c pulsecore/svolume_sse.c \
817                 pulsecore/sconv-s16be.c pulsecore/sconv-s16be.h \
818                 pulsecore/sconv-s16le.c pulsecore/sconv-s16le.h \
819                 pulsecore/sconv_sse.c \
820                 pulsecore/sconv.c pulsecore/sconv.h \
821                 pulsecore/shared.c pulsecore/shared.h \
822                 pulsecore/sink-input.c pulsecore/sink-input.h \
823                 pulsecore/sink.c pulsecore/sink.h \
824                 pulsecore/device-port.c pulsecore/device-port.h \
825                 pulsecore/sioman.c pulsecore/sioman.h \
826                 pulsecore/sound-file-stream.c pulsecore/sound-file-stream.h \
827                 pulsecore/sound-file.c pulsecore/sound-file.h \
828                 pulsecore/source-output.c pulsecore/source-output.h \
829                 pulsecore/source.c pulsecore/source.h \
830                 pulsecore/start-child.c pulsecore/start-child.h \
831                 pulsecore/thread-mq.c pulsecore/thread-mq.h \
832                 pulsecore/database.h
833
834 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
835 libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
836 libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
837
838 if HAVE_ORC
839 ORC_SOURCE += pulsecore/svolume
840 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/svolume_orc.c
841 nodist_libpulsecore_@PA_MAJORMINOR@_la_SOURCES = pulsecore/svolume-orc-gen.c pulsecore/svolume-orc-gen.h
842 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(ORC_CFLAGS)
843 libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(ORC_LIBS)
844 endif
845
846 if HAVE_X11
847 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/x11wrap.c pulsecore/x11wrap.h
848 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(X11_CFLAGS)
849 libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS += $(X11_LIBS)
850 endif
851
852 if HAVE_DBUS
853 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += \
854                 pulsecore/dbus-shared.c pulsecore/dbus-shared.h \
855                 pulsecore/protocol-dbus.c pulsecore/protocol-dbus.h
856 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(DBUS_CFLAGS)
857 libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(DBUS_LIBS)
858 endif
859
860 if HAVE_GDBM
861 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-gdbm.c
862 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(GDBM_CFLAGS)
863 libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(GDBM_LIBS)
864 endif
865
866 if HAVE_TDB
867 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-tdb.c
868 libpulsecore_@PA_MAJORMINOR@_la_CFLAGS += $(TDB_CFLAGS)
869 libpulsecore_@PA_MAJORMINOR@_la_LIBADD += $(TDB_LIBS)
870 endif
871
872 if HAVE_SIMPLEDB
873 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/database-simple.c
874 endif
875
876 # We split the foreign code off to not be annoyed by warnings we don't care about
877 noinst_LTLIBRARIES = libpulsecore-foreign.la
878
879 libpulsecore_foreign_la_SOURCES = \
880                 pulsecore/ffmpeg/resample2.c pulsecore/ffmpeg/avcodec.h pulsecore/ffmpeg/dsputil.h
881
882 libpulsecore_foreign_la_CFLAGS = $(AM_CFLAGS) $(FOREIGN_CFLAGS)
883
884 ###################################
885 #   Plug-in support libraries     #
886 ###################################
887
888 ### Warning! Due to an obscure bug in libtool/automake it is required
889 ### that the libraries in modlibexec_LTLIBRARIES are specified in-order,
890 ### i.e. libraries near the end of the list depend on libraries near
891 ### the head, and not the other way!
892
893 modlibexec_LTLIBRARIES = \
894                 libcli.la \
895                 libprotocol-cli.la \
896                 libprotocol-simple.la \
897                 libprotocol-http.la \
898                 libprotocol-native.la
899
900 if HAVE_ESOUND
901 modlibexec_LTLIBRARIES += \
902                 libprotocol-esound.la
903 endif
904
905 # We need to emulate sendmsg/recvmsg to support this on Win32
906 if !OS_IS_WIN32
907 modlibexec_LTLIBRARIES += \
908                 librtp.la
909 endif
910
911 if HAVE_AVAHI
912 modlibexec_LTLIBRARIES += \
913                 libavahi-wrap.la
914 endif
915
916 libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h
917 libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
918 libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
919
920 libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h
921 libcli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
922 libcli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
923
924 libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h
925 libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
926 libprotocol_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libcli.la
927
928 libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h pulsecore/mime-type.c pulsecore/mime-type.h
929 libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
930 libprotocol_http_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
931
932 libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h
933 libprotocol_native_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
934 libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
935 libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
936 if HAVE_DBUS
937 libprotocol_native_la_CFLAGS += $(DBUS_CFLAGS)
938 libprotocol_native_la_LIBADD += $(DBUS_LIBS)
939 endif
940
941 if HAVE_ESOUND
942 libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h
943 libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
944 libprotocol_esound_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
945 endif
946
947 librtp_la_SOURCES = \
948                 modules/rtp/rtp.c modules/rtp/rtp.h \
949                 modules/rtp/sdp.c modules/rtp/sdp.h \
950                 modules/rtp/sap.c modules/rtp/sap.h \
951                 modules/rtp/rtsp_client.c modules/rtp/rtsp_client.h \
952                 modules/rtp/headerlist.c modules/rtp/headerlist.h
953 librtp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
954 librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
955
956 libraop_la_SOURCES = \
957         modules/raop/raop_client.c modules/raop/raop_client.h \
958         modules/raop/base64.c modules/raop/base64.h
959 libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp
960 libraop_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
961 libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
962
963 # Avahi
964 libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
965 libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
966 libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
967 libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
968
969 ###################################
970 #        Plug-in libraries        #
971 ###################################
972
973 if HAVE_DBUS
974 # Serveral module (e.g. libalsa-util.la)
975 modlibexec_LTLIBRARIES += \
976                 module-console-kit.la
977 endif
978
979 modlibexec_LTLIBRARIES += \
980                 module-cli.la \
981                 module-cli-protocol-tcp.la \
982                 module-simple-protocol-tcp.la \
983                 module-null-sink.la \
984                 module-null-source.la \
985                 module-sine-source.la \
986                 module-detect.la \
987                 module-volume-restore.la \
988                 module-device-manager.la \
989                 module-device-restore.la \
990                 module-stream-restore.la \
991                 module-card-restore.la \
992                 module-default-device-restore.la \
993                 module-always-sink.la \
994                 module-rescue-streams.la \
995                 module-intended-roles.la \
996                 module-suspend-on-idle.la \
997                 module-echo-cancel.la \
998                 module-http-protocol-tcp.la \
999                 module-sine.la \
1000                 module-native-protocol-tcp.la \
1001                 module-native-protocol-fd.la \
1002                 module-combine.la \
1003                 module-combine-sink.la \
1004                 module-remap-sink.la \
1005                 module-ladspa-sink.la \
1006                 module-tunnel-sink.la \
1007                 module-tunnel-source.la \
1008                 module-position-event-sounds.la \
1009                 module-augment-properties.la \
1010                 module-role-cork.la \
1011                 module-loopback.la \
1012                 module-virtual-sink.la \
1013                 module-virtual-source.la \
1014                 module-virtual-surround-sink.la \
1015                 module-switch-on-connect.la \
1016                 module-switch-on-port-available.la \
1017                 module-filter-apply.la \
1018                 module-filter-heuristics.la
1019
1020 if HAVE_ESOUND
1021 modlibexec_LTLIBRARIES += \
1022                 module-esound-protocol-tcp.la \
1023                 module-esound-sink.la
1024 endif
1025
1026 # See comment at librtp.la above
1027 if !OS_IS_WIN32
1028 modlibexec_LTLIBRARIES += \
1029                 module-rtp-send.la \
1030                 module-rtp-recv.la
1031 endif
1032
1033 if HAVE_AF_UNIX
1034 modlibexec_LTLIBRARIES += \
1035                 module-cli-protocol-unix.la \
1036                 module-simple-protocol-unix.la \
1037                 module-http-protocol-unix.la \
1038                 module-native-protocol-unix.la
1039 if HAVE_ESOUND
1040 modlibexec_LTLIBRARIES += \
1041                 module-esound-protocol-unix.la
1042 endif
1043 endif
1044
1045 if HAVE_MKFIFO
1046 modlibexec_LTLIBRARIES += \
1047                 module-pipe-sink.la \
1048                 module-pipe-source.la
1049 endif
1050
1051 if !OS_IS_WIN32
1052 if HAVE_ESOUND
1053 modlibexec_LTLIBRARIES += \
1054                 module-esound-compat-spawnfd.la \
1055                 module-esound-compat-spawnpid.la
1056 endif
1057 endif
1058
1059 if HAVE_REGEX
1060 modlibexec_LTLIBRARIES += \
1061                 module-match.la
1062 endif
1063
1064 if HAVE_X11
1065 modlibexec_LTLIBRARIES += \
1066                 module-x11-bell.la \
1067                 module-x11-publish.la \
1068                 module-x11-xsmp.la \
1069                 module-x11-cork-request.la
1070 endif
1071
1072 if HAVE_OSS_OUTPUT
1073 modlibexec_LTLIBRARIES += \
1074                 liboss-util.la \
1075                 module-oss.la
1076 endif
1077
1078 if HAVE_COREAUDIO
1079 modlibexec_LTLIBRARIES += \
1080                 module-coreaudio-detect.la \
1081                 module-coreaudio-device.la
1082 endif
1083
1084 pulselibexec_PROGRAMS =
1085
1086 if HAVE_ALSA
1087 modlibexec_LTLIBRARIES += \
1088                 libalsa-util.la \
1089                 module-alsa-sink.la \
1090                 module-alsa-source.la \
1091                 module-alsa-card.la
1092
1093 dist_alsaprofilesets_DATA = \
1094                 modules/alsa/mixer/profile-sets/default.conf \
1095                 modules/alsa/mixer/profile-sets/extra-hdmi.conf \
1096                 modules/alsa/mixer/profile-sets/maudio-fasttrack-pro.conf \
1097                 modules/alsa/mixer/profile-sets/native-instruments-audio4dj.conf \
1098                 modules/alsa/mixer/profile-sets/native-instruments-audio8dj.conf \
1099                 modules/alsa/mixer/profile-sets/native-instruments-traktor-audio6.conf \
1100                 modules/alsa/mixer/profile-sets/native-instruments-traktor-audio10.conf \
1101                 modules/alsa/mixer/profile-sets/native-instruments-traktorkontrol-s4.conf \
1102                 modules/alsa/mixer/profile-sets/native-instruments-korecontroller.conf \
1103                 modules/alsa/mixer/profile-sets/kinect-audio.conf
1104
1105 if HAVE_UDEV
1106 dist_udevrules_DATA = \
1107                 modules/alsa/mixer/profile-sets/90-pulseaudio.rules
1108 endif
1109
1110 dist_alsapaths_DATA = \
1111                 modules/alsa/mixer/paths/analog-input-aux.conf \
1112                 modules/alsa/mixer/paths/analog-input.conf \
1113                 modules/alsa/mixer/paths/analog-input.conf.common \
1114                 modules/alsa/mixer/paths/analog-input-fm.conf \
1115                 modules/alsa/mixer/paths/analog-input-linein.conf \
1116                 modules/alsa/mixer/paths/analog-input-mic.conf \
1117                 modules/alsa/mixer/paths/analog-input-dock-mic.conf \
1118                 modules/alsa/mixer/paths/analog-input-front-mic.conf \
1119                 modules/alsa/mixer/paths/analog-input-internal-mic.conf \
1120                 modules/alsa/mixer/paths/analog-input-rear-mic.conf \
1121                 modules/alsa/mixer/paths/analog-input-mic.conf.common \
1122                 modules/alsa/mixer/paths/analog-input-mic-line.conf \
1123                 modules/alsa/mixer/paths/analog-input-tvtuner.conf \
1124                 modules/alsa/mixer/paths/analog-input-video.conf \
1125                 modules/alsa/mixer/paths/analog-output.conf \
1126                 modules/alsa/mixer/paths/analog-output-speaker.conf \
1127                 modules/alsa/mixer/paths/analog-output.conf.common \
1128                 modules/alsa/mixer/paths/analog-output-desktop-speaker.conf \
1129                 modules/alsa/mixer/paths/analog-output-headphones.conf \
1130                 modules/alsa/mixer/paths/analog-output-headphones-2.conf \
1131                 modules/alsa/mixer/paths/analog-output-lfe-on-mono.conf \
1132                 modules/alsa/mixer/paths/analog-output-mono.conf \
1133                 modules/alsa/mixer/paths/iec958-stereo-output.conf \
1134                 modules/alsa/mixer/paths/hdmi-output-0.conf \
1135                 modules/alsa/mixer/paths/hdmi-output-1.conf \
1136                 modules/alsa/mixer/paths/hdmi-output-2.conf \
1137                 modules/alsa/mixer/paths/hdmi-output-3.conf
1138
1139 endif
1140
1141 if HAVE_SOLARIS
1142 modlibexec_LTLIBRARIES += \
1143                 module-solaris.la
1144 endif
1145
1146 if HAVE_AVAHI
1147 modlibexec_LTLIBRARIES += \
1148                 module-zeroconf-publish.la \
1149                 module-zeroconf-discover.la
1150 endif
1151
1152 if HAVE_BONJOUR
1153 modlibexec_LTLIBRARIES += \
1154                 module-bonjour-publish.la
1155 endif
1156
1157 if HAVE_LIRC
1158 modlibexec_LTLIBRARIES += \
1159                 module-lirc.la
1160 endif
1161
1162 if HAVE_XEN
1163 modlibexec_LTLIBRARIES += \
1164                 module-xenpv-sink.la
1165 endif
1166
1167
1168 if HAVE_EVDEV
1169 modlibexec_LTLIBRARIES += \
1170                 module-mmkbd-evdev.la
1171 endif
1172
1173 if HAVE_JACK
1174 modlibexec_LTLIBRARIES += \
1175                 module-jack-sink.la \
1176                 module-jack-source.la
1177
1178 if HAVE_DBUS
1179 modlibexec_LTLIBRARIES += \
1180                 module-jackdbus-detect.la
1181 endif
1182
1183 endif
1184
1185 if HAVE_GCONF
1186 modlibexec_LTLIBRARIES += \
1187                 module-gconf.la
1188
1189 pulselibexec_PROGRAMS += \
1190                 gconf-helper
1191 endif
1192
1193 if HAVE_WAVEOUT
1194 modlibexec_LTLIBRARIES += \
1195                 module-waveout.la
1196 endif
1197
1198 if HAVE_HAL
1199 modlibexec_LTLIBRARIES += \
1200                 module-hal-detect.la
1201 endif
1202
1203 if HAVE_HAL_COMPAT
1204 modlibexec_LTLIBRARIES += \
1205                 module-hal-detect.la
1206 endif
1207
1208 if HAVE_UDEV
1209 modlibexec_LTLIBRARIES += \
1210                 module-udev-detect.la
1211 endif
1212
1213 if HAVE_DBUS
1214 modlibexec_LTLIBRARIES += \
1215                 module-rygel-media-server.la \
1216                 module-dbus-protocol.la
1217 endif
1218
1219 if HAVE_BLUEZ
1220 modlibexec_LTLIBRARIES += \
1221                 libbluetooth-util.la \
1222                 module-bluetooth-proximity.la \
1223                 module-bluetooth-discover.la \
1224                 libbluetooth-ipc.la \
1225                 libbluetooth-sbc.la \
1226                 module-bluetooth-device.la
1227
1228 pulselibexec_PROGRAMS += \
1229                 proximity-helper
1230 endif
1231
1232 if HAVE_OPENSSL
1233 modlibexec_LTLIBRARIES += \
1234                 libraop.la \
1235                 module-raop-sink.la
1236 if HAVE_AVAHI
1237 modlibexec_LTLIBRARIES += \
1238                 module-raop-discover.la
1239 endif
1240 endif
1241
1242 if HAVE_DBUS
1243 if HAVE_FFTW
1244 modlibexec_LTLIBRARIES += \
1245                 module-equalizer-sink.la
1246 bin_SCRIPTS += utils/qpaeq
1247 endif
1248 endif
1249
1250 # These are generated by an M4 script
1251 SYMDEF_FILES = \
1252                 module-cli-symdef.h \
1253                 module-cli-protocol-tcp-symdef.h \
1254                 module-cli-protocol-unix-symdef.h \
1255                 module-pipe-sink-symdef.h \
1256                 module-pipe-source-symdef.h \
1257                 module-simple-protocol-tcp-symdef.h \
1258                 module-simple-protocol-unix-symdef.h \
1259                 module-native-protocol-tcp-symdef.h \
1260                 module-native-protocol-unix-symdef.h \
1261                 module-native-protocol-fd-symdef.h \
1262                 module-sine-symdef.h \
1263                 module-combine-symdef.h \
1264                 module-combine-sink-symdef.h \
1265                 module-remap-sink-symdef.h \
1266                 module-ladspa-sink-symdef.h \
1267                 module-equalizer-sink-symdef.h \
1268                 module-match-symdef.h \
1269                 module-tunnel-sink-symdef.h \
1270                 module-tunnel-source-symdef.h \
1271                 module-null-sink-symdef.h \
1272                 module-null-source-symdef.h \
1273                 module-sine-source-symdef.h \
1274                 module-zeroconf-publish-symdef.h \
1275                 module-zeroconf-discover-symdef.h \
1276                 module-bonjour-publish-symdef.h \
1277                 module-lirc-symdef.h \
1278                 module-xenpv-sink-symdef.h \
1279                 module-mmkbd-evdev-symdef.h \
1280                 module-http-protocol-tcp-symdef.h \
1281                 module-http-protocol-unix-symdef.h \
1282                 module-rygel-media-server-symdef.h \
1283                 module-x11-bell-symdef.h \
1284                 module-x11-publish-symdef.h \
1285                 module-x11-xsmp-symdef.h \
1286                 module-x11-cork-request-symdef.h \
1287                 module-oss-symdef.h \
1288                 module-alsa-sink-symdef.h \
1289                 module-alsa-source-symdef.h \
1290                 module-alsa-card-symdef.h \
1291                 module-coreaudio-detect-symdef.h \
1292                 module-coreaudio-device-symdef.h \
1293                 module-solaris-symdef.h \
1294                 module-waveout-symdef.h \
1295                 module-detect-symdef.h \
1296                 module-rtp-send-symdef.h \
1297                 module-rtp-recv-symdef.h \
1298                 module-jackdbus-detect-symdef.h \
1299                 module-jack-sink-symdef.h \
1300                 module-jack-source-symdef.h \
1301                 module-volume-restore-symdef.h \
1302                 module-device-manager-symdef.h \
1303                 module-device-restore-symdef.h \
1304                 module-stream-restore-symdef.h \
1305                 module-card-restore-symdef.h \
1306                 module-default-device-restore-symdef.h \
1307                 module-always-sink-symdef.h \
1308                 module-rescue-streams-symdef.h \
1309                 module-intended-roles-symdef.h \
1310                 module-suspend-on-idle-symdef.h \
1311                 module-echo-cancel-symdef.h \
1312                 module-hal-detect-symdef.h \
1313                 module-udev-detect-symdef.h \
1314                 module-bluetooth-proximity-symdef.h \
1315                 module-bluetooth-discover-symdef.h \
1316                 module-bluetooth-device-symdef.h \
1317                 module-raop-sink-symdef.h \
1318                 module-raop-discover-symdef.h \
1319                 module-gconf-symdef.h \
1320                 module-position-event-sounds-symdef.h \
1321                 module-augment-properties-symdef.h \
1322                 module-role-cork-symdef.h \
1323                 module-console-kit-symdef.h \
1324                 module-dbus-protocol-symdef.h \
1325                 module-loopback-symdef.h \
1326                 module-virtual-sink-symdef.h \
1327                 module-virtual-source-symdef.h \
1328                 module-virtual-surround-sink-symdef.h \
1329                 module-switch-on-connect-symdef.h \
1330                 module-switch-on-port-available-symdef.h \
1331                 module-filter-apply-symdef.h \
1332                 module-filter-heuristics-symdef.h
1333
1334 if HAVE_ESOUND
1335 SYMDEF_FILES += \
1336                 module-esound-protocol-tcp-symdef.h \
1337                 module-esound-protocol-unix-symdef.h \
1338                 module-esound-compat-spawnfd-symdef.h \
1339                 module-esound-compat-spawnpid-symdef.h \
1340                 module-esound-sink-symdef.h
1341 endif
1342
1343 EXTRA_DIST += $(SYMDEF_FILES)
1344 BUILT_SOURCES += $(SYMDEF_FILES) builddirs
1345
1346 $(SYMDEF_FILES): modules/module-defs.h.m4
1347         $(AM_V_at)$(MKDIR_P) modules
1348         $(AM_V_GEN)$(M4) -Dfname="$@" $< > $@
1349
1350 .PHONY: builddirs
1351 builddirs:
1352         $(AM_V_at)$(MKDIR_P) daemon modules
1353
1354 # Simple protocol
1355
1356 module_simple_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1357 module_simple_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
1358 module_simple_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
1359 module_simple_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
1360
1361 module_simple_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1362 module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
1363 module_simple_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
1364 module_simple_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-simple.la
1365
1366 # CLI protocol
1367
1368 module_cli_la_SOURCES = modules/module-cli.c
1369 module_cli_la_LDFLAGS = $(MODULE_LDFLAGS)
1370 module_cli_la_LIBADD = $(MODULE_LIBADD) libcli.la
1371
1372 module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1373 module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
1374 module_cli_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
1375 module_cli_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
1376
1377 module_cli_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1378 module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
1379 module_cli_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
1380 module_cli_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-cli.la
1381
1382 # HTTP protocol
1383
1384 module_http_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1385 module_http_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
1386 module_http_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
1387 module_http_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
1388
1389 module_http_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1390 module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
1391 module_http_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
1392 module_http_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-http.la
1393
1394 # D-Bus protocol
1395
1396 module_dbus_protocol_la_SOURCES = \
1397                 modules/dbus/iface-card.c modules/dbus/iface-card.h \
1398                 modules/dbus/iface-card-profile.c modules/dbus/iface-card-profile.h \
1399                 modules/dbus/iface-client.c modules/dbus/iface-client.h \
1400                 modules/dbus/iface-core.c modules/dbus/iface-core.h \
1401                 modules/dbus/iface-device.c modules/dbus/iface-device.h \
1402                 modules/dbus/iface-device-port.c modules/dbus/iface-device-port.h \
1403                 modules/dbus/iface-memstats.c modules/dbus/iface-memstats.h \
1404                 modules/dbus/iface-module.c modules/dbus/iface-module.h \
1405                 modules/dbus/iface-sample.c modules/dbus/iface-sample.h \
1406                 modules/dbus/iface-stream.c modules/dbus/iface-stream.h \
1407                 modules/dbus/module-dbus-protocol.c
1408 module_dbus_protocol_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
1409 module_dbus_protocol_la_LDFLAGS = $(MODULE_LDFLAGS)
1410 module_dbus_protocol_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
1411
1412 # Native protocol
1413
1414 module_native_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1415 module_native_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
1416 module_native_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
1417 module_native_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1418
1419 module_native_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1420 module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
1421 module_native_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
1422 module_native_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1423
1424 module_native_protocol_fd_la_SOURCES = modules/module-native-protocol-fd.c
1425 module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS)
1426 module_native_protocol_fd_la_LDFLAGS = $(MODULE_LDFLAGS)
1427 module_native_protocol_fd_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1428
1429 # EsounD protocol
1430
1431 if HAVE_ESOUND
1432 module_esound_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1433 module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
1434 module_esound_protocol_tcp_la_LDFLAGS = $(MODULE_LDFLAGS)
1435 module_esound_protocol_tcp_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
1436
1437 module_esound_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1438 module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
1439 module_esound_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)
1440 module_esound_protocol_unix_la_LIBADD = $(MODULE_LIBADD) libprotocol-esound.la
1441
1442 module_esound_compat_spawnfd_la_SOURCES = modules/module-esound-compat-spawnfd.c
1443 module_esound_compat_spawnfd_la_LDFLAGS = $(MODULE_LDFLAGS)
1444 module_esound_compat_spawnfd_la_LIBADD = $(MODULE_LIBADD)
1445
1446 module_esound_compat_spawnpid_la_SOURCES = modules/module-esound-compat-spawnpid.c
1447 module_esound_compat_spawnpid_la_LDFLAGS = $(MODULE_LDFLAGS)
1448 module_esound_compat_spawnpid_la_LIBADD = $(MODULE_LIBADD)
1449
1450 module_esound_sink_la_SOURCES = modules/module-esound-sink.c
1451 module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS) $(WINSOCK_LIBS)
1452 module_esound_sink_la_LIBADD = $(MODULE_LIBADD)
1453 endif
1454
1455 # Pipes
1456
1457 module_pipe_sink_la_SOURCES = modules/module-pipe-sink.c
1458 module_pipe_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1459 module_pipe_sink_la_LIBADD = $(MODULE_LIBADD)
1460
1461 module_pipe_source_la_SOURCES = modules/module-pipe-source.c
1462 module_pipe_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1463 module_pipe_source_la_LIBADD = $(MODULE_LIBADD)
1464
1465 # Fake sources/sinks
1466
1467 module_sine_la_SOURCES = modules/module-sine.c
1468 module_sine_la_LDFLAGS = $(MODULE_LDFLAGS)
1469 module_sine_la_LIBADD = $(MODULE_LIBADD)
1470
1471 module_null_sink_la_SOURCES = modules/module-null-sink.c
1472 module_null_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1473 module_null_sink_la_LIBADD = $(MODULE_LIBADD)
1474
1475 module_null_source_la_SOURCES = modules/module-null-source.c
1476 module_null_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1477 module_null_source_la_LIBADD = $(MODULE_LIBADD)
1478
1479 module_sine_source_la_SOURCES = modules/module-sine-source.c
1480 module_sine_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1481 module_sine_source_la_LIBADD = $(MODULE_LIBADD)
1482
1483 # Couplings
1484
1485 module_combine_la_SOURCES = modules/module-combine.c
1486 module_combine_la_LDFLAGS = $(MODULE_LDFLAGS)
1487 module_combine_la_LIBADD = $(MODULE_LIBADD)
1488
1489 module_combine_sink_la_SOURCES = modules/module-combine-sink.c
1490 module_combine_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1491 module_combine_sink_la_LIBADD = $(MODULE_LIBADD)
1492
1493 module_switch_on_connect_la_SOURCES = modules/module-switch-on-connect.c
1494 module_switch_on_connect_la_LDFLAGS = $(MODULE_LDFLAGS)
1495 module_switch_on_connect_la_LIBADD = $(MODULE_LIBADD)
1496
1497 module_switch_on_port_available_la_SOURCES = modules/module-switch-on-port-available.c
1498 module_switch_on_port_available_la_LDFLAGS = $(MODULE_LDFLAGS)
1499 module_switch_on_port_available_la_LIBADD = $(MODULE_LIBADD)
1500
1501 module_filter_apply_la_SOURCES = modules/module-filter-apply.c
1502 module_filter_apply_la_LDFLAGS = $(MODULE_LDFLAGS)
1503 module_filter_apply_la_LIBADD = $(MODULE_LIBADD)
1504
1505 module_filter_heuristics_la_SOURCES = modules/module-filter-heuristics.c
1506 module_filter_heuristics_la_LDFLAGS = $(MODULE_LDFLAGS)
1507 module_filter_heuristics_la_LIBADD = $(MODULE_LIBADD)
1508
1509 module_remap_sink_la_SOURCES = modules/module-remap-sink.c
1510 module_remap_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1511 module_remap_sink_la_LIBADD = $(MODULE_LIBADD)
1512
1513 module_ladspa_sink_la_SOURCES = modules/module-ladspa-sink.c modules/ladspa.h
1514 module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH=\"$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa\" $(AM_CFLAGS)
1515 module_ladspa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1516 module_ladspa_sink_la_LIBADD = $(MODULE_LIBADD) $(LIBLTDL)
1517
1518 module_equalizer_sink_la_SOURCES = modules/module-equalizer-sink.c
1519 module_equalizer_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(DBUS_CFLAGS) $(FFTW_CFLAGS)
1520 module_equalizer_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1521 module_equalizer_sink_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(FFTW_LIBS)
1522
1523 module_match_la_SOURCES = modules/module-match.c
1524 module_match_la_LDFLAGS = $(MODULE_LDFLAGS)
1525 module_match_la_LIBADD = $(MODULE_LIBADD)
1526
1527 module_tunnel_sink_la_SOURCES = modules/module-tunnel.c
1528 module_tunnel_sink_la_CFLAGS = -DTUNNEL_SINK=1 $(AM_CFLAGS)
1529 module_tunnel_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1530 module_tunnel_sink_la_LIBADD = $(MODULE_LIBADD)
1531
1532 module_tunnel_source_la_SOURCES = modules/module-tunnel.c
1533 module_tunnel_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1534 module_tunnel_source_la_LIBADD = $(MODULE_LIBADD)
1535
1536 module_loopback_la_SOURCES = modules/module-loopback.c
1537 module_loopback_la_LDFLAGS = $(MODULE_LDFLAGS)
1538 module_loopback_la_LIBADD = $(MODULE_LIBADD)
1539
1540 module_virtual_sink_la_SOURCES = modules/module-virtual-sink.c
1541 module_virtual_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
1542 module_virtual_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1543 module_virtual_sink_la_LIBADD = $(MODULE_LIBADD)
1544
1545 module_virtual_source_la_SOURCES = modules/module-virtual-source.c
1546 module_virtual_source_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
1547 module_virtual_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1548 module_virtual_source_la_LIBADD = $(MODULE_LIBADD)
1549
1550 module_virtual_surround_sink_la_SOURCES = modules/module-virtual-surround-sink.c
1551 module_virtual_surround_sink_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS)
1552 module_virtual_surround_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1553 module_virtual_surround_sink_la_LIBADD = $(MODULE_LIBADD)
1554
1555 # X11
1556
1557 module_x11_bell_la_SOURCES = modules/x11/module-x11-bell.c
1558 module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
1559 module_x11_bell_la_LDFLAGS = $(MODULE_LDFLAGS)
1560 module_x11_bell_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
1561
1562 module_x11_publish_la_SOURCES = modules/x11/module-x11-publish.c
1563 module_x11_publish_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
1564 module_x11_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
1565 module_x11_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la $(X11_LIBS)
1566
1567 module_x11_xsmp_la_SOURCES = modules/x11/module-x11-xsmp.c
1568 module_x11_xsmp_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
1569 module_x11_xsmp_la_LDFLAGS = $(MODULE_LDFLAGS)
1570 module_x11_xsmp_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
1571
1572 module_x11_cork_request_la_SOURCES = modules/x11/module-x11-cork-request.c
1573 module_x11_cork_request_la_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS)
1574 module_x11_cork_request_la_LDFLAGS = $(MODULE_LDFLAGS)
1575 module_x11_cork_request_la_LIBADD = $(MODULE_LIBADD) $(X11_LIBS)
1576
1577 # OSS
1578
1579 liboss_util_la_SOURCES = modules/oss/oss-util.c modules/oss/oss-util.h
1580 liboss_util_la_LDFLAGS = -avoid-version
1581 liboss_util_la_LIBADD = $(MODULE_LIBADD)
1582
1583 module_oss_la_SOURCES = modules/oss/module-oss.c
1584 module_oss_la_LDFLAGS = $(MODULE_LDFLAGS)
1585 module_oss_la_LIBADD = $(MODULE_LIBADD) liboss-util.la
1586
1587 # COREAUDIO
1588
1589 module_coreaudio_detect_la_SOURCES = modules/macosx/module-coreaudio-detect.c
1590 module_coreaudio_detect_la_LDFLAGS = $(MODULE_LDFLAGS) \
1591                 -Wl,-framework -Wl,Cocoa -framework CoreAudio \
1592                 -Wl,-framework -Wl,AudioUnit -framework AudioUnit
1593 module_coreaudio_detect_la_LIBADD = $(MODULE_LIBADD)
1594
1595 module_coreaudio_device_la_SOURCES = modules/macosx/module-coreaudio-device.c
1596 module_coreaudio_device_la_LDFLAGS = $(MODULE_LDFLAGS) \
1597                 -Wl,-framework -Wl,Cocoa -framework CoreAudio \
1598                 -Wl,-framework -Wl,AudioUnit -framework AudioUnit
1599 module_coreaudio_device_la_LIBADD = $(MODULE_LIBADD)
1600
1601 # ALSA
1602
1603 libalsa_util_la_SOURCES = \
1604                 modules/alsa/alsa-util.c modules/alsa/alsa-util.h \
1605                 modules/alsa/alsa-mixer.c modules/alsa/alsa-mixer.h \
1606                 modules/alsa/alsa-sink.c modules/alsa/alsa-sink.h \
1607                 modules/alsa/alsa-source.c modules/alsa/alsa-source.h \
1608                 modules/reserve-wrap.c modules/reserve-wrap.h
1609 libalsa_util_la_LDFLAGS = -avoid-version
1610 libalsa_util_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS)
1611 libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(ASOUNDLIB_CFLAGS)
1612
1613 if HAVE_HAL
1614 libalsa_util_la_SOURCES += modules/hal-util.h modules/hal-util.c
1615 libalsa_util_la_LIBADD += $(HAL_LIBS)
1616 libalsa_util_la_CFLAGS += $(HAL_CFLAGS)
1617 endif
1618
1619 if HAVE_UDEV
1620 libalsa_util_la_SOURCES += modules/udev-util.h modules/udev-util.c
1621 libalsa_util_la_LIBADD += $(UDEV_LIBS)
1622 libalsa_util_la_CFLAGS += $(UDEV_CFLAGS)
1623 endif
1624
1625 if HAVE_DBUS
1626 libalsa_util_la_SOURCES += modules/reserve.h modules/reserve.c modules/reserve-monitor.h modules/reserve-monitor.c
1627 libalsa_util_la_LIBADD += $(DBUS_LIBS)
1628 libalsa_util_la_CFLAGS += $(DBUS_CFLAGS)
1629 endif
1630
1631 module_alsa_sink_la_SOURCES = modules/alsa/module-alsa-sink.c
1632 module_alsa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1633 module_alsa_sink_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
1634 module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1635
1636 module_alsa_source_la_SOURCES = modules/alsa/module-alsa-source.c
1637 module_alsa_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1638 module_alsa_source_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
1639 module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1640
1641 module_alsa_card_la_SOURCES = modules/alsa/module-alsa-card.c
1642 module_alsa_card_la_LDFLAGS = $(MODULE_LDFLAGS)
1643 module_alsa_card_la_LIBADD = $(MODULE_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la
1644 module_alsa_card_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1645
1646 # Solaris
1647
1648 module_solaris_la_SOURCES = modules/module-solaris.c
1649 module_solaris_la_LDFLAGS = $(MODULE_LDFLAGS)
1650 module_solaris_la_LIBADD = $(MODULE_LIBADD)
1651
1652 # Avahi
1653
1654 module_zeroconf_publish_la_SOURCES = modules/module-zeroconf-publish.c
1655 module_zeroconf_publish_la_LDFLAGS = $(MODULE_LDFLAGS)
1656 module_zeroconf_publish_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la libprotocol-native.la
1657 module_zeroconf_publish_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
1658
1659 module_zeroconf_discover_la_SOURCES = modules/module-zeroconf-discover.c
1660 module_zeroconf_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
1661 module_zeroconf_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
1662 module_zeroconf_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
1663
1664 # Bonjour
1665
1666 module_bonjour_publish_la_SOURCES = modules/macosx/module-bonjour-publish.c
1667 module_bonjour_publish_la_LDFLAGS = $(MODULE_LDFLAGS) \
1668                         -Wl,-framework -Wl,CoreFoundation -framework CoreFoundation
1669 module_bonjour_publish_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1670
1671 # LIRC
1672
1673 module_lirc_la_SOURCES = modules/module-lirc.c
1674 module_lirc_la_LDFLAGS = $(MODULE_LDFLAGS)
1675 module_lirc_la_LIBADD = $(MODULE_LIBADD) $(LIRC_LIBS)
1676 module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS)
1677
1678
1679 # Xen PV driver
1680
1681 module_xenpv_sink_la_SOURCES = modules/xen/module-xenpv-sink.c modules/xen/gntalloc.h modules/xen/gntdev.h
1682 module_xenpv_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1683 module_xenpv_sink_la_LIBADD = $(MODULE_LIBADD) $(XEN_LIBS)
1684 module_xenpv_sink_la_CFLAGS = $(AM_CFLAGS) $(XEN_CFLAGS) -I$(top_srcdir)/src/modules/xen
1685
1686
1687 # Linux evdev
1688
1689 module_mmkbd_evdev_la_SOURCES = modules/module-mmkbd-evdev.c
1690 module_mmkbd_evdev_la_LDFLAGS = $(MODULE_LDFLAGS)
1691 module_mmkbd_evdev_la_LIBADD = $(MODULE_LIBADD)
1692 module_mmkbd_evdev_la_CFLAGS = $(AM_CFLAGS)
1693
1694 # Windows waveout
1695 module_waveout_la_SOURCES = modules/module-waveout.c
1696 module_waveout_la_LDFLAGS = $(MODULE_LDFLAGS)
1697 module_waveout_la_LIBADD = $(MODULE_LIBADD) -lwinmm
1698 module_waveout_la_CFLAGS = $(AM_CFLAGS)
1699
1700 # Hardware autodetection module
1701 module_detect_la_SOURCES = modules/module-detect.c
1702 module_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
1703 module_detect_la_LIBADD = $(MODULE_LIBADD)
1704 module_detect_la_CFLAGS = $(AM_CFLAGS)
1705
1706 # Volume restore module
1707 module_volume_restore_la_SOURCES = modules/module-volume-restore.c
1708 module_volume_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
1709 module_volume_restore_la_LIBADD = $(MODULE_LIBADD)
1710 module_volume_restore_la_CFLAGS = $(AM_CFLAGS)
1711
1712 # Position event sounds in space
1713 module_position_event_sounds_la_SOURCES = modules/module-position-event-sounds.c
1714 module_position_event_sounds_la_LDFLAGS = $(MODULE_LDFLAGS)
1715 module_position_event_sounds_la_LIBADD = $(MODULE_LIBADD)
1716 module_position_event_sounds_la_CFLAGS = $(AM_CFLAGS)
1717
1718 # Augment properties from XDG .desktop files
1719 module_augment_properties_la_SOURCES = modules/module-augment-properties.c
1720 module_augment_properties_la_LDFLAGS = $(MODULE_LDFLAGS)
1721 module_augment_properties_la_LIBADD = $(MODULE_LIBADD)
1722 #module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"$(datadir)/applications\"
1723 module_augment_properties_la_CFLAGS = $(AM_CFLAGS) -DDESKTOPFILEDIR=\"/usr/share/applications\"
1724
1725 # Cork certain streams while others are active (e.g. cork music when phone streams appear)
1726 module_role_cork_la_SOURCES = modules/module-role-cork.c
1727 module_role_cork_la_LDFLAGS = $(MODULE_LDFLAGS)
1728 module_role_cork_la_LIBADD = $(MODULE_LIBADD)
1729 module_role_cork_la_CFLAGS = $(AM_CFLAGS)
1730
1731 # Device description restore module
1732 module_device_manager_la_SOURCES = modules/module-device-manager.c
1733 module_device_manager_la_LDFLAGS = $(MODULE_LDFLAGS)
1734 module_device_manager_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1735 module_device_manager_la_CFLAGS = $(AM_CFLAGS)
1736
1737 # Device volume/muted restore module
1738 module_device_restore_la_SOURCES = modules/module-device-restore.c
1739 module_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
1740 module_device_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1741 module_device_restore_la_CFLAGS = $(AM_CFLAGS)
1742
1743 if HAVE_DBUS
1744 module_device_restore_la_LIBADD += $(DBUS_LIBS)
1745 module_device_restore_la_CFLAGS += $(DBUS_CFLAGS)
1746 endif
1747
1748 # Stream volume/muted/device restore module
1749 module_stream_restore_la_SOURCES = modules/module-stream-restore.c
1750 module_stream_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
1751 module_stream_restore_la_LIBADD = $(MODULE_LIBADD) libprotocol-native.la
1752 module_stream_restore_la_CFLAGS = $(AM_CFLAGS)
1753
1754 if HAVE_DBUS
1755 module_stream_restore_la_LIBADD += $(DBUS_LIBS)
1756 module_stream_restore_la_CFLAGS += $(DBUS_CFLAGS)
1757 endif
1758
1759 # Card profile restore module
1760 module_card_restore_la_SOURCES = modules/module-card-restore.c
1761 module_card_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
1762 module_card_restore_la_LIBADD = $(MODULE_LIBADD)
1763 module_card_restore_la_CFLAGS = $(AM_CFLAGS)
1764
1765 # Default sink/source restore module
1766 module_default_device_restore_la_SOURCES = modules/module-default-device-restore.c
1767 module_default_device_restore_la_LDFLAGS = $(MODULE_LDFLAGS)
1768 module_default_device_restore_la_LIBADD = $(MODULE_LIBADD)
1769 module_default_device_restore_la_CFLAGS = $(AM_CFLAGS)
1770
1771 # Always Sink module
1772 module_always_sink_la_SOURCES = modules/module-always-sink.c
1773 module_always_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1774 module_always_sink_la_LIBADD = $(MODULE_LIBADD)
1775 module_always_sink_la_CFLAGS = $(AM_CFLAGS)
1776
1777 # Rescue streams module
1778 module_rescue_streams_la_SOURCES = modules/module-rescue-streams.c
1779 module_rescue_streams_la_LDFLAGS = $(MODULE_LDFLAGS)
1780 module_rescue_streams_la_LIBADD = $(MODULE_LIBADD)
1781 module_rescue_streams_la_CFLAGS = $(AM_CFLAGS)
1782
1783 # Automatically move streams to devices that are intended for their roles
1784 module_intended_roles_la_SOURCES = modules/module-intended-roles.c
1785 module_intended_roles_la_LDFLAGS = $(MODULE_LDFLAGS)
1786 module_intended_roles_la_LIBADD = $(MODULE_LIBADD)
1787 module_intended_roles_la_CFLAGS = $(AM_CFLAGS)
1788
1789 # Suspend-on-idle module
1790 module_suspend_on_idle_la_SOURCES = modules/module-suspend-on-idle.c
1791 module_suspend_on_idle_la_LDFLAGS = $(MODULE_LDFLAGS)
1792 module_suspend_on_idle_la_LIBADD = $(MODULE_LIBADD)
1793 module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS)
1794
1795 # echo-cancel module
1796 module_echo_cancel_la_SOURCES = \
1797                 modules/echo-cancel/module-echo-cancel.c modules/echo-cancel/echo-cancel.h
1798 module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS)
1799 module_echo_cancel_la_LIBADD = $(MODULE_LIBADD) $(LIBSPEEX_LIBS)
1800 module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(SERVER_CFLAGS) $(LIBSPEEX_CFLAGS)
1801 if HAVE_ADRIAN_EC
1802 module_echo_cancel_la_SOURCES += \
1803                 modules/echo-cancel/adrian-aec.c modules/echo-cancel/adrian-aec.h \
1804                 modules/echo-cancel/adrian.c modules/echo-cancel/adrian.h
1805 module_echo_cancel_la_CFLAGS += -DHAVE_ADRIAN_EC=1
1806 if HAVE_ORC
1807 ORC_SOURCE += modules/echo-cancel/adrian-aec
1808 nodist_module_echo_cancel_la_SOURCES = \
1809                 modules/echo-cancel/adrian-aec-orc-gen.c \
1810                 modules/echo-cancel/adrian-aec-orc-gen.h
1811 module_echo_cancel_la_LIBADD += $(ORC_LIBS)
1812 module_echo_cancel_la_CFLAGS += $(ORC_CFLAGS) -I$(top_builddir)/src/modules/echo-cancel
1813 endif
1814 endif
1815 if HAVE_SPEEX
1816 module_echo_cancel_la_SOURCES += modules/echo-cancel/speex.c
1817 endif
1818 if HAVE_WEBRTC
1819 module_echo_cancel_la_SOURCES += modules/echo-cancel/webrtc.cc
1820 module_echo_cancel_la_CFLAGS += -DHAVE_WEBRTC=1
1821 module_echo_cancel_la_CXXFLAGS = $(AM_CXXFLAGS) $(SERVER_CFLAGS) $(WEBRTC_CFLAGS) -DHAVE_WEBRTC=1
1822 module_echo_cancel_la_LIBADD += $(WEBRTC_LIBS)
1823 endif
1824
1825 # RTP modules
1826 module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
1827 module_rtp_send_la_LDFLAGS = $(MODULE_LDFLAGS)
1828 module_rtp_send_la_LIBADD = $(MODULE_LIBADD) librtp.la
1829 module_rtp_send_la_CFLAGS = $(AM_CFLAGS)
1830
1831 module_rtp_recv_la_SOURCES = modules/rtp/module-rtp-recv.c
1832 module_rtp_recv_la_LDFLAGS = $(MODULE_LDFLAGS)
1833 module_rtp_recv_la_LIBADD = $(MODULE_LIBADD) librtp.la
1834 module_rtp_recv_la_CFLAGS = $(AM_CFLAGS)
1835
1836 # JACK
1837
1838 module_jackdbus_detect_la_SOURCES = modules/jack/module-jackdbus-detect.c
1839 module_jackdbus_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
1840 module_jackdbus_detect_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) $(JACK_LIBS)
1841 module_jackdbus_detect_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(JACK_CFLAGS)
1842
1843 module_jack_sink_la_SOURCES = modules/jack/module-jack-sink.c
1844 module_jack_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1845 module_jack_sink_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
1846 module_jack_sink_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS)
1847
1848 module_jack_source_la_SOURCES = modules/jack/module-jack-source.c
1849 module_jack_source_la_LDFLAGS = $(MODULE_LDFLAGS)
1850 module_jack_source_la_LIBADD = $(MODULE_LIBADD) $(JACK_LIBS)
1851 module_jack_source_la_CFLAGS = $(AM_CFLAGS) $(JACK_CFLAGS)
1852
1853 if HAVE_HAL_COMPAT
1854 module_hal_detect_la_SOURCES = modules/module-hal-detect-compat.c
1855 module_hal_detect_la_LIBADD = $(MODULE_LIBADD)
1856 module_hal_detect_la_CFLAGS = $(AM_CFLAGS)
1857 else
1858 module_hal_detect_la_SOURCES = modules/module-hal-detect.c
1859 module_hal_detect_la_LIBADD = $(MODULE_LIBADD) $(HAL_LIBS)
1860 module_hal_detect_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
1861 endif
1862 module_hal_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
1863
1864 module_udev_detect_la_SOURCES = modules/module-udev-detect.c
1865 module_udev_detect_la_LDFLAGS = $(MODULE_LDFLAGS)
1866 module_udev_detect_la_LIBADD = $(MODULE_LIBADD) $(UDEV_LIBS)
1867 module_udev_detect_la_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS)
1868
1869 module_console_kit_la_SOURCES = modules/module-console-kit.c
1870 module_console_kit_la_LDFLAGS = $(MODULE_LDFLAGS)
1871 module_console_kit_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
1872 module_console_kit_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
1873
1874 # GConf support
1875 module_gconf_la_SOURCES = modules/gconf/module-gconf.c
1876 module_gconf_la_LDFLAGS = $(MODULE_LDFLAGS)
1877 module_gconf_la_LIBADD = $(MODULE_LIBADD)
1878 module_gconf_la_CFLAGS = $(AM_CFLAGS) -DPA_GCONF_HELPER=\"$(pulselibexecdir)/gconf-helper\"
1879
1880 gconf_helper_SOURCES = modules/gconf/gconf-helper.c
1881 gconf_helper_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(GCONF_LIBS)
1882 gconf_helper_CFLAGS = $(AM_CFLAGS) $(GCONF_CFLAGS)
1883 gconf_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
1884
1885 # Bluetooth proximity
1886 module_bluetooth_proximity_la_SOURCES = modules/bluetooth/module-bluetooth-proximity.c
1887 module_bluetooth_proximity_la_LDFLAGS = $(MODULE_LDFLAGS)
1888 module_bluetooth_proximity_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
1889 module_bluetooth_proximity_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -DPA_BT_PROXIMITY_HELPER=\"$(pulselibexecdir)/proximity-helper\"
1890
1891 proximity_helper_SOURCES = modules/bluetooth/proximity-helper.c
1892 proximity_helper_LDADD = $(AM_LDADD) $(BLUEZ_LIBS)
1893 proximity_helper_CFLAGS = $(AM_CFLAGS) $(BLUEZ_CFLAGS)
1894 proximity_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
1895
1896 # Bluetooth sink / source
1897 module_bluetooth_discover_la_SOURCES = modules/bluetooth/module-bluetooth-discover.c
1898 module_bluetooth_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
1899 module_bluetooth_discover_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluetooth-util.la
1900 module_bluetooth_discover_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
1901
1902 libbluetooth_sbc_la_SOURCES = \
1903                 modules/bluetooth/sbc/sbc.c modules/bluetooth/sbc/sbc.h \
1904                 modules/bluetooth/sbc/sbc_primitives.c modules/bluetooth/sbc/sbc_primitives.h \
1905                 modules/bluetooth/sbc/sbc_primitives_armv6.h modules/bluetooth/sbc/sbc_primitives_armv6.c \
1906                 modules/bluetooth/sbc/sbc_primitives_iwmmxt.h modules/bluetooth/sbc/sbc_primitives_iwmmxt.c \
1907                 modules/bluetooth/sbc/sbc_primitives_mmx.c modules/bluetooth/sbc/sbc_primitives_mmx.h \
1908                 modules/bluetooth/sbc/sbc_primitives_neon.c modules/bluetooth/sbc/sbc_primitives_neon.h \
1909                 modules/bluetooth/sbc/sbc_math.h \
1910                 modules/bluetooth/sbc/sbc_tables.h
1911 libbluetooth_sbc_la_LDFLAGS = -avoid-version
1912 libbluetooth_sbc_la_LIBADD = $(MODULE_LIBADD)
1913 libbluetooth_sbc_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/bluetooth/sbc
1914 BLUETOOTH_SBC_FILES = $(subst modules/bluetooth/,,$(libbluetooth_sbc_la_SOURCES))
1915
1916 libbluetooth_ipc_la_SOURCES = \
1917                 modules/bluetooth/a2dp-codecs.h \
1918                 modules/bluetooth/ipc.c modules/bluetooth/ipc.h
1919 libbluetooth_ipc_la_LDFLAGS = -avoid-version
1920 libbluetooth_ipc_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
1921 libbluetooth_ipc_la_CFLAGS = $(AM_CFLAGS)
1922 BLUETOOTH_IPC_FILES = $(subst modules/bluetooth/,,$(libbluetooth_ipc_la_SOURCES)) rtp.h
1923
1924 libbluetooth_util_la_SOURCES = modules/bluetooth/bluetooth-util.c modules/bluetooth/bluetooth-util.h
1925 libbluetooth_util_la_LDFLAGS = -avoid-version
1926 libbluetooth_util_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
1927 libbluetooth_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
1928
1929 module_bluetooth_device_la_SOURCES = modules/bluetooth/module-bluetooth-device.c modules/bluetooth/rtp.h
1930 module_bluetooth_device_la_LDFLAGS = $(MODULE_LDFLAGS)
1931 module_bluetooth_device_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libbluetooth-util.la libbluetooth-ipc.la libbluetooth-sbc.la
1932 module_bluetooth_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) -I$(top_srcdir)/src/modules/bluetooth/sbc
1933
1934 # Apple Airtunes/RAOP
1935 module_raop_sink_la_SOURCES = modules/raop/module-raop-sink.c
1936 module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
1937 module_raop_sink_la_LIBADD = $(MODULE_LIBADD) librtp.la libraop.la
1938 module_raop_sink_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/rtp
1939
1940 module_raop_discover_la_SOURCES = modules/raop/module-raop-discover.c
1941 module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
1942 module_raop_discover_la_LIBADD = $(MODULE_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la
1943 module_raop_discover_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
1944
1945 # Rygel
1946 module_rygel_media_server_la_SOURCES = modules/module-rygel-media-server.c
1947 module_rygel_media_server_la_LDFLAGS = $(MODULE_LDFLAGS)
1948 module_rygel_media_server_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS) libprotocol-http.la
1949 module_rygel_media_server_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
1950
1951 ###################################
1952 #        Some minor stuff         #
1953 ###################################
1954
1955 CLEANFILES += daemon/pulseaudio.desktop daemon/pulseaudio-kde.desktop
1956 DISTCLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 start-pulseaudio-kde
1957
1958 if OS_IS_WIN32
1959 SYMLINK_PROGRAM=cd $(DESTDIR)$(bindir) && cp
1960 else
1961 SYMLINK_PROGRAM=ln -sf
1962 endif
1963 install-exec-hook:
1964 if HAVE_BLUEZ
1965         -chown root $(DESTDIR)$(pulselibexecdir)/proximity-helper
1966         -chmod u+s $(DESTDIR)$(pulselibexecdir)/proximity-helper
1967 endif
1968         $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parec$(EXEEXT)
1969         $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/pamon$(EXEEXT)
1970         $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/paplay$(EXEEXT)
1971         $(SYMLINK_PROGRAM) pacat$(EXEEXT) $(DESTDIR)$(bindir)/parecord$(EXEEXT)
1972         rm -f $(DESTDIR)$(libdir)/libpulsedsp.la
1973         rm -f $(DESTDIR)$(modlibexecdir)/*.la
1974
1975 uninstall-hook:
1976         rm -f $(DESTDIR)$(bindir)/parec$(EXEEXT)
1977         rm -f $(DESTDIR)$(bindir)/pamon$(EXEEXT)
1978         rm -f $(DESTDIR)$(bindir)/paplay$(EXEEXT)
1979         rm -f $(DESTDIR)$(bindir)/parecord$(EXEEXT)
1980         rm -f $(DESTDIR)$(libdir)/libpulsedsp.*
1981         rm -f $(DESTDIR)$(modlibexecdir)/*.so
1982
1983 massif: pulseaudio
1984         libtool --mode=execute valgrind --tool=massif --depth=6  --alloc-fn=pa_xmalloc --alloc-fn=pa_xmalloc0 --alloc-fn=pa_xrealloc --alloc-fn=dbus_realloc --alloc-fn=pa_xnew0_internal --alloc-fn=pa_xnew_internal ./pulseaudio
1985
1986 update-ffmpeg:
1987         wget -O pulsecore/ffmpeg/resample2.c http://svn.mplayerhq.hu/ffmpeg/trunk/libavcodec/resample2.c?view=co
1988
1989 # We get things twice here, because sometimes gitweb will us just give a "Generating..." otherwise.
1990 update-sbc:
1991         for i in $(BLUETOOTH_SBC_FILES) ; do \
1992                 wget -O /dev/null http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=$$i ; \
1993                 wget -O $(top_srcdir)/src/modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=$$i ; \
1994         done
1995         for i in $(BLUETOOTH_IPC_FILES); do \
1996                 wget -O /dev/null http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=audio/$$i ; \
1997                 wget -O $(top_srcdir)/src/modules/bluetooth/$$i http://git.kernel.org/\?p=bluetooth/bluez.git\;a=blob_plain\;f=audio/$$i ; \
1998         done
1999
2000 update-reserve:
2001         for i in reserve.c reserve.h reserve-monitor.c reserve-monitor.h ; do \
2002                 wget -O $(top_srcdir)/src/modules/$$i http://git.0pointer.de/\?p=reserve.git\;a=blob_plain\;f=$$i\;hb=master ; \
2003         done
2004
2005 update-rtkit:
2006         for i in rtkit.c rtkit.h ; do \
2007                 wget -O $(top_srcdir)/src/pulsecore/$$i http://git.0pointer.de/\?p=rtkit.git\;a=blob_plain\;f=$$i\;hb=master ; \
2008         done
2009
2010 # Automatically generate linker version script. We use the same one for all public .sos
2011 update-map-file:
2012         ( echo "PULSE_0 {" ; \
2013           echo "global:" ; \
2014           ctags -I PA_GCC_MALLOC,PA_GCC_ALLOC_SIZE2,PA_GCC_ALLOC_SIZE,PA_GCC_PURE,PA_GCC_CONST,PA_GCC_DEPRECATED,PA_GCC_PRINTF_ATTR -f - --c-kinds=p $(pulseinclude_HEADERS) | awk '/^pa_/ { print $$1 ";" }' | sort ; \
2015           echo "local:" ;  \
2016           echo "*;" ; \
2017           echo "};" ) > $(srcdir)/map-file
2018
2019 update-all: update-ffmpeg update-sbc update-map-file
2020
2021 # Force installation order of libraries. libtool relinks on install time, in
2022 # which case libpulsecommon has to be install before others, but the padsp
2023 # preload library has to be done after the normal libraries (e.g. libpulse)
2024 # ...
2025 # Unfortunately automake behaviour means that rules without commands also
2026 # override build-in rules, so it's not trivial to add dependencies.
2027 # See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328 for the workaround
2028 # ...
2029 # Isn't libtool/autotools fun!
2030
2031 installlibLTLIBRARIES = install-libLTLIBRARIES
2032 $(installlibLTLIBRARIES): install-pkglibLTLIBRARIES
2033
2034 installmodlibexecLTLIBRARIES = install-modlibexecLTLIBRARIES
2035 $(installmodlibexecLTLIBRARIES): install-pkglibLTLIBRARIES
2036
2037 installpadsplibLTLIBRARIES = install-padsplibLTLIBRARIES
2038 $(installpadsplibLTLIBRARIES): install-libLTLIBRARIES
2039
2040 .PHONY: padsp massif update-all update-ffmpeg update-sbc update-map-file