Add copyright notices to all relevant files. (based on svn log)
[profile/ivi/pulseaudio.git] / src / Makefile.am
1 # $Id$
2 #
3 # This file is part of PulseAudio.
4 #
5 # Copyright 2004-2006 Lennart Poettering
6 # Copyright 2006 Pierre Ossman <ossman@cendio.se> for Cendio AB
7 # Copyright 2006 Diego Pettenò
8 #
9 # PulseAudio is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU Lesser General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # PulseAudio is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
18 #
19 # You should have received a copy of the GNU Lesser General Public License
20 # along with PulseAudio; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
22 # USA.
23
24
25 ###################################
26 #       Extra directories         #
27 ###################################
28
29 pulseincludedir=$(includedir)/pulse
30 pulsecoreincludedir=$(includedir)/pulsecore
31 pulseconfdir=$(sysconfdir)/pulse
32 pulselibexecdir=$(libexecdir)/pulse
33
34 ###################################
35 #            Defines              #
36 ###################################
37
38 PA_BINARY=$(bindir)/pulseaudio$(EXEEXT)
39 if OS_IS_WIN32
40 PA_DEFAULT_CONFIG_DIR=%PULSE_ROOT%
41 else
42 PA_DEFAULT_CONFIG_DIR=$(pulseconfdir)
43 endif
44
45 ###################################
46 #     Compiler/linker flags       #
47 ###################################
48
49 AM_CFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src/modules -I$(top_builddir)/src/modules/rtp -I$(top_builddir)/src/modules/gconf
50 AM_CFLAGS += $(PTHREAD_CFLAGS) -D_POSIX_PTHREAD_SEMANTICS
51 AM_CFLAGS += $(LTDLINCL)
52 AM_CFLAGS += $(LIBSAMPLERATE_CFLAGS) $(LIBSNDFILE_CFLAGS)
53 AM_CFLAGS += -DPA_DLSEARCHPATH=\"$(modlibexecdir)\"
54 AM_CFLAGS += -DPA_DEFAULT_CONFIG_DIR=\"$(PA_DEFAULT_CONFIG_DIR)\"
55 AM_CFLAGS += -DPA_BINARY=\"$(PA_BINARY)\"
56 AM_CFLAGS += -DPA_SYSTEM_RUNTIME_PATH=\"$(PA_SYSTEM_RUNTIME_PATH)\"
57 AM_CFLAGS += -DAO_REQUIRE_CAS
58
59 # This cool debug trap works on i386/gcc only
60 AM_CFLAGS += '-DDEBUG_TRAP=__asm__("int $$3")'
61
62 AM_LIBADD = $(PTHREAD_LIBS)
63 AM_LDADD = $(PTHREAD_LIBS)
64
65 # Only required on some platforms but defined for all to avoid errors
66 AM_LDFLAGS = -no-undefined
67
68 if STATIC_BINS
69 BINLDFLAGS = -static
70 endif
71
72 if OS_IS_WIN32
73 AM_LDFLAGS+=-Wl,--export-all-symbols
74 WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet
75 endif
76
77 if OS_IS_WIN32
78 PA_THREAD_OBJS = \
79                 pulsecore/once-win32.c pulsecore/once.h \
80                 pulsecore/mutex-win32.c pulsecore/mutex.h \
81                 pulsecore/thread-win32.c pulsecore/thread.h
82 else
83 PA_THREAD_OBJS = \
84                 pulsecore/atomic.h \
85                 pulsecore/once-posix.c pulsecore/once.h \
86                 pulsecore/mutex-posix.c pulsecore/mutex.h \
87                 pulsecore/thread-posix.c pulsecore/thread.h
88 endif
89
90 ###################################
91 #          Extra files            #
92 ###################################
93
94 EXTRA_DIST = \
95                 pulse/client.conf.in \
96                 pulse/version.h.in \
97                 daemon/daemon.conf.in \
98                 daemon/default.pa.in \
99                 daemon/default.pa.win32 \
100                 depmod.py \
101                 daemon/esdcompat.in \
102                 utils/padsp \
103                 modules/module-defs.h.m4
104
105 pulseconf_DATA = \
106                 default.pa \
107                 daemon.conf \
108                 client.conf
109
110 BUILT_SOURCES = \
111                 pulse/version.h
112
113 ###################################
114 #          Main daemon            #
115 ###################################
116
117 bin_PROGRAMS = pulseaudio
118
119 pulseaudio_SOURCES = \
120                 daemon/caps.h daemon/caps.c \
121                 daemon/cmdline.c daemon/cmdline.h \
122                 daemon/cpulimit.c daemon/cpulimit.h \
123                 daemon/daemon-conf.c daemon/daemon-conf.h \
124                 daemon/dumpmodules.c daemon/dumpmodules.h \
125                 daemon/main.c \
126                 pulsecore/gccmacro.h
127
128 pulseaudio_CFLAGS = $(AM_CFLAGS) $(LIBOIL_CFLAGS)
129 pulseaudio_CPPFLAGS = $(AM_CPPFLAGS) 
130 pulseaudio_LDADD = $(AM_LDADD) libpulsecore.la $(LIBLTDL) \
131                 $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(CAP_LIBS) $(LIBOIL_LIBS)
132 # This is needed because automake doesn't properly expand the foreach below
133 pulseaudio_DEPENDENCIES = libpulsecore.la $(PREOPEN_LIBS)
134
135 if PREOPEN_MODS
136 PREOPEN_LIBS = $(PREOPEN_MODS)
137 else
138 PREOPEN_LIBS = $(modlibexec_LTLIBRARIES)
139 endif
140
141 if FORCE_PREOPEN
142 pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f))
143 else
144 pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f))
145 endif
146
147 ###################################
148 #       Utility programs          #
149 ###################################
150
151 bin_PROGRAMS += \
152                 pacat \
153                 pactl \
154                 paplay
155
156 if HAVE_AF_UNIX
157 bin_PROGRAMS += pacmd
158 endif
159
160 if HAVE_X11
161 bin_PROGRAMS += pax11publish
162 endif
163
164 if HAVE_AVAHI
165 bin_PROGRAMS += pabrowse
166 endif
167
168 bin_SCRIPTS = esdcompat
169
170 pacat_SOURCES = utils/pacat.c
171 pacat_LDADD = $(AM_LDADD) libpulse.la 
172 pacat_CFLAGS = $(AM_CFLAGS) 
173 pacat_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
174
175 paplay_SOURCES = utils/paplay.c
176 paplay_LDADD = $(AM_LDADD) libpulse.la $(LIBSNDFILE_LIBS)
177 paplay_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
178 paplay_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
179
180 pactl_SOURCES = utils/pactl.c
181 pactl_LDADD = $(AM_LDADD) libpulse.la $(LIBSNDFILE_LIBS)
182 pactl_CFLAGS = $(AM_CFLAGS) $(LIBSNDFILE_CFLAGS)
183 pactl_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
184
185 pacmd_SOURCES = utils/pacmd.c pulsecore/pid.c pulsecore/pid.h
186 pacmd_CFLAGS = $(AM_CFLAGS)
187 pacmd_LDADD = $(AM_LDADD) libpulse.la
188 pacmd_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
189
190 pax11publish_SOURCES = utils/pax11publish.c
191 pax11publish_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
192 pax11publish_LDADD = $(AM_LDADD) libpulse.la $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS)
193 pax11publish_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
194
195 pabrowse_SOURCES = utils/pabrowse.c
196 pabrowse_LDADD = $(AM_LDADD) libpulse.la libpulse-browse.la
197 pabrowse_CFLAGS = $(AM_CFLAGS)
198 pabrowse_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
199
200 ###################################
201 #         Test programs           #
202 ###################################
203
204 noinst_PROGRAMS = \
205                 mainloop-test \
206                 mcalign-test \
207                 pacat-simple \
208                 parec-simple \
209                 strlist-test \
210                 voltest \
211                 memblockq-test \
212                 sync-playback \
213                 interpol-test \
214                 channelmap-test \
215                 thread-mainloop-test \
216                 utf8-test \
217                 get-binary-name-test \
218                 ipacl-test \
219                 hook-list-test \
220                 memblock-test \
221                 thread-test \
222                 flist-test
223
224 if HAVE_SIGXCPU
225 noinst_PROGRAMS += \
226                 cpulimit-test \
227                 cpulimit-test2
228 endif
229
230 if HAVE_GLIB20
231 noinst_PROGRAMS += \
232                 mainloop-test-glib
233 endif
234
235 mainloop_test_SOURCES = tests/mainloop-test.c
236 mainloop_test_CFLAGS = $(AM_CFLAGS)
237 mainloop_test_LDADD = $(AM_LDADD) libpulse.la
238 mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
239
240 thread_mainloop_test_SOURCES = tests/thread-mainloop-test.c
241 thread_mainloop_test_CFLAGS = $(AM_CFLAGS)
242 thread_mainloop_test_LDADD = $(AM_LDADD) libpulse.la
243 thread_mainloop_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
244
245 utf8_test_SOURCES = tests/utf8-test.c
246 utf8_test_CFLAGS = $(AM_CFLAGS)
247 utf8_test_LDADD = $(AM_LDADD) libpulsecore.la
248 utf8_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
249
250 get_binary_name_test_SOURCES = tests/get-binary-name-test.c 
251 get_binary_name_test_CFLAGS = $(AM_CFLAGS)
252 get_binary_name_test_LDADD = $(AM_LDADD) libpulse.la
253 get_binary_name_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
254
255 ipacl_test_SOURCES = tests/ipacl-test.c \
256                 pulsecore/ipacl.c pulsecore/ipacl.h \
257                 pulsecore/inet_pton.c pulsecore/inet_pton.h
258 ipacl_test_CFLAGS = $(AM_CFLAGS)
259 ipacl_test_LDADD = $(AM_LDADD) libpulsecore.la
260 ipacl_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
261
262 hook_list_test_SOURCES = tests/hook-list-test.c
263 hook_list_test_CFLAGS = $(AM_CFLAGS)
264 hook_list_test_LDADD = $(AM_LDADD) libpulsecore.la
265 hook_list_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
266
267 memblock_test_SOURCES = tests/memblock-test.c 
268 memblock_test_CFLAGS = $(AM_CFLAGS)
269 memblock_test_LDADD = $(AM_LDADD) libpulsecore.la
270 memblock_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) 
271
272 thread_test_SOURCES = tests/thread-test.c
273 thread_test_CFLAGS = $(AM_CFLAGS)
274 thread_test_LDADD = $(AM_LDADD) libpulsecore.la
275 thread_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) 
276
277 flist_test_SOURCES = tests/flist-test.c \
278                 pulsecore/atomic.h \
279                 pulsecore/flist.c pulsecore/flist.h
280 flist_test_CFLAGS = $(AM_CFLAGS)
281 flist_test_LDADD = $(AM_LDADD) libpulsecore.la
282 flist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) 
283
284 mcalign_test_SOURCES = tests/mcalign-test.c
285 mcalign_test_CFLAGS = $(AM_CFLAGS)
286 mcalign_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore.la
287 mcalign_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
288
289 pacat_simple_SOURCES = tests/pacat-simple.c
290 pacat_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
291 pacat_simple_CFLAGS = $(AM_CFLAGS)
292 pacat_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
293
294 parec_simple_SOURCES = tests/parec-simple.c
295 parec_simple_LDADD = $(AM_LDADD) libpulse.la libpulse-simple.la
296 parec_simple_CFLAGS = $(AM_CFLAGS)
297 parec_simple_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
298
299 strlist_test_SOURCES = tests/strlist-test.c
300 strlist_test_CFLAGS = $(AM_CFLAGS)
301 strlist_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore.la libstrlist.la
302 strlist_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
303
304 voltest_SOURCES = tests/voltest.c
305 voltest_CFLAGS = $(AM_CFLAGS)
306 voltest_LDADD = $(AM_LDADD) libpulse.la
307 voltest_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
308
309 channelmap_test_SOURCES = tests/channelmap-test.c
310 channelmap_test_CFLAGS = $(AM_CFLAGS)
311 channelmap_test_LDADD = $(AM_LDADD) libpulse.la
312 channelmap_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
313
314 cpulimit_test_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
315 cpulimit_test_CFLAGS = $(AM_CFLAGS)
316 cpulimit_test_LDADD = $(AM_LDADD) libpulsecore.la
317 cpulimit_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
318
319 cpulimit_test2_SOURCES = tests/cpulimit-test.c daemon/cpulimit.c daemon/cpulimit.h
320 cpulimit_test2_CFLAGS = $(AM_CFLAGS) -DTEST2
321 cpulimit_test2_LDADD = $(AM_LDADD) libpulsecore.la
322 cpulimit_test2_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
323
324 mainloop_test_glib_SOURCES = $(mainloop_test_SOURCES)
325 mainloop_test_glib_CFLAGS = $(mainloop_test_CFLAGS) $(GLIB20_CFLAGS) -DGLIB_MAIN_LOOP
326 mainloop_test_glib_LDADD = $(mainloop_test_LDADD) $(GLIB20_LIBS) libpulse-mainloop-glib.la
327 mainloop_test_glib_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
328
329 memblockq_test_SOURCES = tests/memblockq-test.c
330 memblockq_test_CFLAGS = $(AM_CFLAGS)
331 memblockq_test_LDADD = $(AM_LDADD) $(WINSOCK_LIBS) libpulsecore.la
332 memblockq_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
333
334 sync_playback_SOURCES = tests/sync-playback.c
335 sync_playback_LDADD = $(AM_LDADD) libpulse.la
336 sync_playback_CFLAGS = $(AM_CFLAGS) 
337 sync_playback_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
338
339 interpol_test_SOURCES = tests/interpol-test.c
340 interpol_test_LDADD = $(AM_LDADD) libpulse.la
341 interpol_test_CFLAGS = $(AM_CFLAGS) 
342 interpol_test_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
343
344 ###################################
345 #         Client library          #
346 ###################################
347
348 pulseinclude_HEADERS = \
349                 pulse/cdecl.h \
350                 pulse/channelmap.h \
351                 pulse/context.h \
352                 pulse/def.h \
353                 pulse/error.h \
354                 pulse/introspect.h \
355                 pulse/mainloop.h \
356                 pulse/mainloop-api.h \
357                 pulse/mainloop-signal.h \
358                 pulse/operation.h \
359                 pulse/pulseaudio.h \
360                 pulse/sample.h \
361                 pulse/scache.h \
362                 pulse/simple.h \
363                 pulse/stream.h \
364                 pulse/subscribe.h \
365                 pulse/thread-mainloop.h \
366                 pulse/timeval.h \
367                 pulse/utf8.h \
368                 pulse/util.h \
369                 pulse/version.h \
370                 pulse/volume.h \
371                 pulse/xmalloc.h
372
373 if HAVE_AVAHI
374 pulseinclude_HEADERS += \
375                 pulse/browser.h
376 endif
377
378 if HAVE_GLIB20
379 pulseinclude_HEADERS += \
380                 pulse/glib-mainloop.h
381 endif
382
383 lib_LTLIBRARIES = \
384                 libpulse.la \
385                 libpulse-simple.la
386
387 if HAVE_AVAHI
388 lib_LTLIBRARIES += \
389                 libpulse-browse.la
390 endif
391
392 if HAVE_GLIB20
393 lib_LTLIBRARIES += \
394                 libpulse-mainloop-glib.la
395 endif
396
397 # Public interface
398 libpulse_la_SOURCES = \
399                 pulse/cdecl.h \
400                 pulse/channelmap.c pulse/channelmap.h \
401                 pulse/client-conf.c pulse/client-conf.h \
402                 pulse/context.c pulse/context.h \
403                 pulse/def.h \
404                 pulse/error.c pulse/error.h \
405                 pulse/internal.h \
406                 pulse/introspect.c pulse/introspect.h \
407                 pulse/mainloop.c pulse/mainloop.h \
408                 pulse/mainloop-api.c pulse/mainloop-api.h \
409                 pulse/mainloop-signal.c pulse/mainloop-signal.h \
410                 pulse/operation.c pulse/operation.h \
411                 pulse/pulseaudio.h \
412                 pulse/sample.c pulse/sample.h \
413                 pulse/scache.c pulse/scache.h \
414                 pulse/stream.c pulse/stream.h \
415                 pulse/subscribe.c pulse/subscribe.h \
416                 pulse/thread-mainloop.c pulse/thread-mainloop.h \
417                 pulse/timeval.c pulse/timeval.h \
418                 pulse/utf8.c pulse/utf8.h \
419                 pulse/util.c pulse/util.h \
420                 pulse/volume.c pulse/volume.h \
421                 pulse/xmalloc.c pulse/xmalloc.h
422
423 # Internal stuff that is shared with libpulsecore
424 libpulse_la_SOURCES += \
425                 pulsecore/authkey.c pulsecore/authkey.h \
426                 pulsecore/conf-parser.c pulsecore/conf-parser.h \
427                 pulsecore/core-util.c pulsecore/core-util.h \
428                 pulsecore/dynarray.c pulsecore/dynarray.h \
429                 pulsecore/gccmacro.h \
430                 pulsecore/hashmap.c pulsecore/hashmap.h \
431                 pulsecore/idxset.c pulsecore/idxset.h \
432                 pulsecore/inet_ntop.c pulsecore/inet_ntop.h \
433                 pulsecore/iochannel.c pulsecore/iochannel.h \
434                 pulsecore/llist.h \
435                 pulsecore/log.c pulsecore/log.h \
436                 pulsecore/mcalign.c pulsecore/mcalign.h \
437                 pulsecore/memblock.c pulsecore/memblock.h \
438                 pulsecore/memblockq.c pulsecore/memblockq.h \
439                 pulsecore/memchunk.c pulsecore/memchunk.h \
440                 pulsecore/native-common.h \
441                 pulsecore/packet.c pulsecore/packet.h \
442                 pulsecore/parseaddr.c pulsecore/parseaddr.h \
443                 pulsecore/pdispatch.c pulsecore/pdispatch.h \
444                 pulsecore/pipe.c pulsecore/pipe.h \
445                 pulsecore/poll.c pulsecore/poll.h \
446                 pulsecore/pstream.c pulsecore/pstream.h \
447                 pulsecore/pstream-util.c pulsecore/pstream-util.h \
448                 pulsecore/queue.c pulsecore/queue.h \
449                 pulsecore/random.c pulsecore/random.h \
450                 pulsecore/socket-client.c pulsecore/socket-client.h \
451                 pulsecore/socket-util.c pulsecore/socket-util.h \
452                 pulsecore/strbuf.c pulsecore/strbuf.h \
453                 pulsecore/strlist.c pulsecore/strlist.h \
454                 pulsecore/tagstruct.c pulsecore/tagstruct.h \
455                 pulsecore/core-error.c pulsecore/core-error.h \
456                 pulsecore/winsock.h pulsecore/creds.h \
457                 pulsecore/shm.c pulsecore/shm.h \
458                 $(PA_THREAD_OBJS)
459
460 if OS_IS_WIN32
461 libpulse_la_SOURCES += \
462                 pulsecore/dllmain.c 
463 endif
464
465 if HAVE_X11
466 libpulse_la_SOURCES += \
467                 pulse/client-conf-x11.c pulse/client-conf-x11.h \
468                 pulsecore/x11prop.c pulsecore/x11prop.h
469 endif
470
471 libpulse_la_CFLAGS = $(AM_CFLAGS)
472 libpulse_la_LDFLAGS = -version-info $(LIBPULSE_VERSION_INFO)
473 libpulse_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) $(LIBICONV)
474
475 if HAVE_X11
476 libpulse_la_CFLAGS += $(X_CFLAGS)
477 libpulse_la_LDFLAGS += $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS)
478 endif
479
480 if HAVE_LIBASYNCNS
481 libpulse_la_CFLAGS += $(LIBASYNCNS_CFLAGS)
482 libpulse_la_LIBADD += $(LIBASYNCNS_LIBS)
483 endif
484
485 libpulse_simple_la_SOURCES = pulse/simple.c pulse/simple.h 
486 libpulse_simple_la_CFLAGS = $(AM_CFLAGS)
487 libpulse_simple_la_LIBADD = $(AM_LIBADD) libpulse.la
488 libpulse_simple_la_LDFLAGS = -version-info $(LIBPULSE_SIMPLE_VERSION_INFO)
489
490 libpulse_browse_la_SOURCES = pulse/browser.c pulse/browser.h pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
491 libpulse_browse_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
492 libpulse_browse_la_LIBADD = $(AM_LIBADD) libpulse.la $(AVAHI_LIBS)
493 libpulse_browse_la_LDFLAGS = -version-info $(LIBPULSE_BROWSE_VERSION_INFO)
494
495 libpulse_mainloop_glib_la_SOURCES = pulse/glib-mainloop.h pulse/glib-mainloop.c
496 libpulse_mainloop_glib_la_CFLAGS = $(AM_CFLAGS) $(GLIB20_CFLAGS)
497 libpulse_mainloop_glib_la_LIBADD = $(AM_LIBADD) libpulse.la $(GLIB20_LIBS)
498 libpulse_mainloop_glib_la_LDFLAGS = -version-info $(LIBPULSE_MAINLOOP_GLIB_VERSION_INFO)
499
500 ###################################
501 #         OSS emulation           #
502 ###################################
503
504 if HAVE_OSS
505
506 lib_LTLIBRARIES += libpulsedsp.la
507
508 bin_SCRIPTS += utils/padsp
509
510 endif
511
512 libpulsedsp_la_SOURCES = utils/padsp.c
513 libpulsedsp_la_CFLAGS = $(AM_CFLAGS)
514 libpulsedsp_la_LIBADD = $(AM_LIBADD) libpulse.la
515 libpulsedsp_la_LDFLAGS = -avoid-version
516
517 ###################################
518 #      Daemon core library        #
519 ###################################
520
521 pulsecoreinclude_HEADERS = \
522                 pulsecore/autoload.h \
523                 pulsecore/atomic.h \
524                 pulsecore/cli-command.h \
525                 pulsecore/cli-text.h \
526                 pulsecore/client.h \
527                 pulsecore/core.h \
528                 pulsecore/core-def.h \
529                 pulsecore/core-scache.h \
530                 pulsecore/core-subscribe.h \
531                 pulsecore/conf-parser.h \
532                 pulsecore/core-util.h \
533                 pulsecore/dynarray.h \
534                 pulsecore/g711.h \
535                 pulsecore/hashmap.h \
536                 pulsecore/idxset.h \
537                 pulsecore/log.h \
538                 pulsecore/mcalign.h \
539                 pulsecore/memblock.h \
540                 pulsecore/memblockq.h \
541                 pulsecore/memchunk.h \
542                 pulsecore/modargs.h \
543                 pulsecore/modinfo.h \
544                 pulsecore/module.h \
545                 pulsecore/namereg.h \
546                 pulsecore/pid.h \
547                 pulsecore/play-memchunk.h \
548                 pulsecore/play-memblockq.h \
549                 pulsecore/props.h \
550                 pulsecore/queue.h \
551                 pulsecore/random.h \
552                 pulsecore/resampler.h \
553                 pulsecore/sample-util.h \
554                 pulsecore/sconv.h \
555                 pulsecore/sink.h \
556                 pulsecore/sink-input.h \
557                 pulsecore/sioman.h \
558                 pulsecore/sound-file.h \
559                 pulsecore/sound-file-stream.h \
560                 pulsecore/source.h \
561                 pulsecore/source-output.h \
562                 pulsecore/strbuf.h \
563                 pulsecore/tokenizer.h \
564                 pulsecore/creds.h \
565                 pulsecore/shm.h \
566                 pulsecore/llist.h \
567                 pulsecore/refcnt.h \
568                 pulsecore/mutex.h \
569                 pulsecore/thread.h \
570                 pulsecore/once.h
571
572 lib_LTLIBRARIES += libpulsecore.la
573
574 # Some public stuff is used even in the core
575 libpulsecore_la_SOURCES = \
576                 pulse/channelmap.c pulse/channelmap.h \
577                 pulse/error.c pulse/error.h \
578                 pulse/mainloop.c pulse/mainloop.h \
579                 pulse/mainloop-api.c pulse/mainloop-api.h \
580                 pulse/mainloop-signal.c pulse/mainloop-signal.h \
581                 pulse/sample.c pulse/sample.h \
582                 pulse/timeval.c pulse/timeval.h \
583                 pulse/utf8.c pulse/utf8.h \
584                 pulse/util.c pulse/util.h \
585                 pulse/volume.c pulse/volume.h \
586                 pulse/xmalloc.c pulse/xmalloc.h
587
588 # Pure core stuff (some are shared in libpulse though).
589 libpulsecore_la_SOURCES += \
590                 pulsecore/autoload.c pulsecore/autoload.h \
591                 pulsecore/cli-command.c pulsecore/cli-command.h \
592                 pulsecore/cli-text.c pulsecore/cli-text.h \
593                 pulsecore/client.c pulsecore/client.h \
594                 pulsecore/conf-parser.c pulsecore/conf-parser.h \
595                 pulsecore/core.c pulsecore/core.h \
596                 pulsecore/core-scache.c pulsecore/core-scache.h \
597                 pulsecore/core-subscribe.c pulsecore/core-subscribe.h \
598                 pulsecore/core-util.c pulsecore/core-util.h \
599                 pulsecore/dynarray.c pulsecore/dynarray.h \
600                 pulsecore/endianmacros.h \
601                 pulsecore/g711.c pulsecore/g711.h \
602                 pulsecore/hashmap.c pulsecore/hashmap.h \
603                 pulsecore/idxset.c pulsecore/idxset.h \
604                 pulsecore/log.c pulsecore/log.h \
605                 pulsecore/mcalign.c pulsecore/mcalign.h \
606                 pulsecore/memblock.c pulsecore/memblock.h \
607                 pulsecore/memblockq.c pulsecore/memblockq.h \
608                 pulsecore/memchunk.c pulsecore/memchunk.h \
609                 pulsecore/modargs.c pulsecore/modargs.h \
610                 pulsecore/modinfo.c pulsecore/modinfo.h \
611                 pulsecore/module.c pulsecore/module.h \
612                 pulsecore/namereg.c pulsecore/namereg.h \
613                 pulsecore/pid.c pulsecore/pid.h \
614                 pulsecore/pipe.c pulsecore/pipe.h \
615                 pulsecore/play-memchunk.c pulsecore/play-memchunk.h \
616                 pulsecore/play-memblockq.c pulsecore/play-memblockq.h \
617                 pulsecore/poll.c pulsecore/poll.h \
618                 pulsecore/props.c pulsecore/props.h \
619                 pulsecore/queue.c pulsecore/queue.h \
620                 pulsecore/random.c pulsecore/random.h \
621                 pulsecore/resampler.c pulsecore/resampler.h \
622                 pulsecore/sample-util.c pulsecore/sample-util.h \
623                 pulsecore/sconv.c pulsecore/sconv.h \
624                 pulsecore/sconv-s16be.c pulsecore/sconv-s16be.h \
625                 pulsecore/sconv-s16le.c pulsecore/sconv-s16le.h \
626                 pulsecore/sink.c pulsecore/sink.h \
627                 pulsecore/sink-input.c pulsecore/sink-input.h \
628                 pulsecore/sioman.c pulsecore/sioman.h \
629                 pulsecore/sound-file.c pulsecore/sound-file.h \
630                 pulsecore/sound-file-stream.c pulsecore/sound-file-stream.h \
631                 pulsecore/source.c pulsecore/source.h \
632                 pulsecore/source-output.c pulsecore/source-output.h \
633                 pulsecore/strbuf.c pulsecore/strbuf.h \
634                 pulsecore/tokenizer.c pulsecore/tokenizer.h \
635                 pulsecore/winsock.h \
636                 pulsecore/core-error.c pulsecore/core-error.h \
637                 pulsecore/hook-list.c pulsecore/hook-list.h \
638                 pulsecore/shm.c pulsecore/shm.h \
639                 $(PA_THREAD_OBJS)
640
641 if OS_IS_WIN32
642 libpulsecore_la_SOURCES += \
643                 pulsecore/dllmain.c 
644 endif
645
646 libpulsecore_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBOIL_CFLAGS)
647 libpulsecore_la_LDFLAGS = -version-info $(LIBPULSECORE_VERSION_INFO)
648 libpulsecore_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LIBOIL_LIBS) $(LIBICONV)
649
650 ###################################
651 #   Plug-in support libraries     #
652 ###################################
653
654 pulsecoreinclude_HEADERS += \
655                 pulsecore/socket-util.h \
656                 pulsecore/iochannel.h \
657                 pulsecore/socket-server.h \
658                 pulsecore/ipacl.h \
659                 pulsecore/socket-client.h \
660                 pulsecore/parseaddr.h \
661                 pulsecore/packet.h \
662                 pulsecore/pstream.h \
663                 pulsecore/ioline.h \
664                 pulsecore/cli.h \
665                 pulsecore/protocol-cli.h \
666                 pulsecore/tagstruct.h \
667                 pulsecore/pstream-util.h \
668                 pulsecore/pdispatch.h \
669                 pulsecore/authkey.h \
670                 pulsecore/authkey-prop.h \
671                 pulsecore/strlist.h \
672                 pulsecore/protocol-simple.h \
673                 pulsecore/esound.h \
674                 pulsecore/protocol-esound.h \
675                 pulsecore/native-common.h \
676                 pulsecore/protocol-native.h \
677                 pulsecore/protocol-http.h
678
679 ### Warning! Due to an obscure bug in libtool/automake it is required
680 ### that the libraries in modlibexec_LTLIBRARIES are specified in-order,
681 ### i.e. libraries near the end of the list depend on libraries near
682 ### the head, and not the other way!
683
684 modlibexec_LTLIBRARIES = \
685                 libsocket-util.la \
686                 libiochannel.la \
687                 libsocket-server.la \
688                 libipacl.la \
689                 libparseaddr.la \
690                 libsocket-client.la \
691                 libpacket.la \
692                 libpstream.la \
693                 libioline.la \
694                 libcli.la \
695                 libprotocol-cli.la \
696                 libtagstruct.la \
697                 libpstream-util.la \
698                 libpdispatch.la \
699                 libauthkey.la \
700                 libauthkey-prop.la \
701                 libstrlist.la \
702                 libprotocol-simple.la \
703                 libprotocol-esound.la \
704                 libprotocol-native.la \
705                 libprotocol-http.la
706
707 # We need to emulate sendmsg/recvmsg to support this on Win32
708 if !OS_IS_WIN32
709 modlibexec_LTLIBRARIES += \
710                 librtp.la
711 endif
712
713 if HAVE_X11
714 pulsecoreinclude_HEADERS += \
715                 pulsecore/x11wrap.h \
716                 pulsecore/x11prop.h
717
718 modlibexec_LTLIBRARIES += \
719                 libx11wrap.la \
720                 libx11prop.la
721 endif
722
723 if HAVE_AVAHI
724 pulsecoreinclude_HEADERS += \
725                 pulsecore/avahi-wrap.h
726
727 modlibexec_LTLIBRARIES += \
728                 libavahi-wrap.la
729 endif
730
731 libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h
732 libprotocol_simple_la_LDFLAGS = -avoid-version
733 libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore.la libsocket-server.la libiochannel.la
734
735 libsocket_server_la_SOURCES = \
736                 pulsecore/inet_ntop.c pulsecore/inet_ntop.h \
737                 pulsecore/inet_pton.c pulsecore/inet_pton.h \
738                 pulsecore/socket-server.c pulsecore/socket-server.h
739 libsocket_server_la_LDFLAGS = -avoid-version
740 libsocket_server_la_LIBADD = $(AM_LIBADD) libpulsecore.la libiochannel.la libsocket-util.la $(LIBWRAP_LIBS) $(WINSOCK_LIBS)
741
742 libipacl_la_SOURCES = pulsecore/ipacl.h pulsecore/ipacl.c \
743                 pulsecore/inet_pton.c pulsecore/inet_pton.h
744 libipacl_la_LDFLAGS = -avoid-version
745 libipacl_la_LIBADD = $(AM_LIBADD) libpulsecore.la $(WINSOCK_LIBS)
746
747 libsocket_client_la_SOURCES = pulsecore/socket-client.c pulsecore/socket-client.h
748 libsocket_client_la_LDFLAGS = -avoid-version
749 libsocket_client_la_LIBADD = $(AM_LIBADD) libpulsecore.la libiochannel.la libsocket-util.la libparseaddr.la $(LIBASYNCNS_LIBS) $(WINSOCK_LIBS)
750 libsocket_client_la_CFLAGS = $(AM_CFLAGS) $(LIBASYNCNS_CFLAGS)
751
752 libparseaddr_la_SOURCES = pulsecore/parseaddr.c pulsecore/parseaddr.h
753 libparseaddr_la_LDFLAGS = -avoid-version
754 libparseaddr_la_LIBADD = $(AM_LIBADD) libpulsecore.la
755
756 libpstream_la_SOURCES = pulsecore/pstream.c pulsecore/pstream.h
757 libpstream_la_LDFLAGS = -avoid-version
758 libpstream_la_LIBADD = $(AM_LIBADD) libpulsecore.la libpacket.la libiochannel.la $(WINSOCK_LIBS)
759
760 libpstream_util_la_SOURCES = pulsecore/pstream-util.c pulsecore/pstream-util.h
761 libpstream_util_la_LDFLAGS = -avoid-version
762 libpstream_util_la_LIBADD = $(AM_LIBADD) libpacket.la libpstream.la libtagstruct.la
763
764 libpdispatch_la_SOURCES = pulsecore/pdispatch.c pulsecore/pdispatch.h
765 libpdispatch_la_LDFLAGS = -avoid-version
766 libpdispatch_la_LIBADD = $(AM_LIBADD) libtagstruct.la libpulsecore.la
767
768 libiochannel_la_SOURCES = pulsecore/iochannel.c pulsecore/iochannel.h
769 libiochannel_la_LDFLAGS = -avoid-version
770 libiochannel_la_LIBADD = $(AM_LIBADD) libsocket-util.la libpulsecore.la $(WINSOCK_LIBS)
771
772 libpacket_la_SOURCES = pulsecore/packet.c pulsecore/packet.h
773 libpacket_la_LDFLAGS = -avoid-version
774 libpacket_la_LIBADD = $(AM_LIBADD) libpulsecore.la
775
776 libioline_la_SOURCES = pulsecore/ioline.c pulsecore/ioline.h
777 libioline_la_LDFLAGS = -avoid-version
778 libioline_la_LIBADD = $(AM_LIBADD) libiochannel.la libpulsecore.la
779
780 libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h
781 libcli_la_CPPFLAGS = $(AM_CPPFLAGS)
782 libcli_la_LDFLAGS = -avoid-version
783 libcli_la_LIBADD = $(AM_LIBADD) libiochannel.la libioline.la libpulsecore.la
784
785 libstrlist_la_SOURCES = pulsecore/strlist.c pulsecore/strlist.h
786 libstrlist_la_LDFLAGS = -avoid-version
787 libstrlist_la_LIBADD = $(AM_LIBADD) libpulsecore.la
788
789 libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h
790 libprotocol_cli_la_LDFLAGS = -avoid-version
791 libprotocol_cli_la_LIBADD = $(AM_LIBADD) libsocket-server.la libiochannel.la libcli.la libpulsecore.la
792
793 libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h
794 libprotocol_http_la_LDFLAGS = -avoid-version
795 libprotocol_http_la_LIBADD = $(AM_LIBADD) libsocket-server.la libioline.la libpulsecore.la libiochannel.la
796
797 libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h
798 libprotocol_native_la_LDFLAGS = -avoid-version
799 libprotocol_native_la_LIBADD = $(AM_LIBADD) libsocket-server.la libpstream.la libpstream-util.la libpdispatch.la libtagstruct.la libauthkey.la libauthkey-prop.la libstrlist.la libpulsecore.la libiochannel.la libipacl.la
800
801 libtagstruct_la_SOURCES = pulsecore/tagstruct.c pulsecore/tagstruct.h
802 libtagstruct_la_LDFLAGS = -avoid-version
803 libtagstruct_la_LIBADD = $(AM_LIBADD) libpulsecore.la $(WINSOCK_LIBS)
804
805 libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h
806 libprotocol_esound_la_LDFLAGS = -avoid-version
807 libprotocol_esound_la_LIBADD = $(AM_LIBADD) libsocket-server.la libiochannel.la libauthkey.la libpulsecore.la libipacl.la
808
809 libauthkey_la_SOURCES = pulsecore/authkey.c pulsecore/authkey.h
810 libauthkey_la_LDFLAGS = -avoid-version
811 libauthkey_la_LIBADD = $(AM_LIBADD) libpulsecore.la
812
813 libauthkey_prop_la_SOURCES = pulsecore/authkey-prop.c pulsecore/authkey-prop.h
814 libauthkey_prop_la_LDFLAGS = -avoid-version
815 libauthkey_prop_la_LIBADD = $(AM_LIBADD) libpulsecore.la
816
817 libsocket_util_la_SOURCES = \
818                 pulsecore/inet_ntop.c pulsecore/inet_ntop.h \
819                 pulsecore/socket-util.c pulsecore/socket-util.h
820 libsocket_util_la_LDFLAGS = -avoid-version
821 libsocket_util_la_LIBADD = $(AM_LIBADD) $(WINSOCK_LIBS) libpulsecore.la
822
823 librtp_la_SOURCES = modules/rtp/rtp.c modules/rtp/rtp.h modules/rtp/sdp.c modules/rtp/sdp.h modules/rtp/sap.c modules/rtp/sap.h 
824 librtp_la_LDFLAGS = -avoid-version
825 librtp_la_LIBADD = $(AM_LIBADD) libpulsecore.la
826
827 # X11
828
829 libx11wrap_la_SOURCES = pulsecore/x11wrap.c pulsecore/x11wrap.h
830 libx11wrap_la_LDFLAGS = -avoid-version
831 libx11wrap_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
832 libx11wrap_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS) libpulsecore.la
833
834 libx11prop_la_SOURCES = pulsecore/x11prop.c pulsecore/x11prop.h
835 libx11prop_la_LDFLAGS = -avoid-version
836 libx11prop_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
837 libx11prop_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS)
838
839 # Avahi
840
841 libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
842 libavahi_wrap_la_LDFLAGS = -avoid-version
843 libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
844 libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore.la
845
846 ###################################
847 #        Plug-in libraries        #
848 ###################################
849
850 modlibexec_LTLIBRARIES += \
851                 module-cli.la \
852                 module-cli-protocol-tcp.la \
853                 module-simple-protocol-tcp.la \
854                 module-esound-protocol-tcp.la \
855                 module-native-protocol-tcp.la \
856                 module-native-protocol-fd.la \
857                 module-sine.la \
858                 module-combine.la \
859                 module-tunnel-sink.la \
860                 module-tunnel-source.la \
861                 module-null-sink.la \
862                 module-esound-sink.la \
863                 module-http-protocol-tcp.la \
864                 module-detect.la \
865                 module-volume-restore.la \
866                 module-rescue-streams.la
867
868 # See comment at librtp.la above
869 if !OS_IS_WIN32
870 modlibexec_LTLIBRARIES += \
871                 module-rtp-send.la \
872                 module-rtp-recv.la
873 endif
874
875 if HAVE_AF_UNIX
876 modlibexec_LTLIBRARIES += \
877                 module-cli-protocol-unix.la \
878                 module-simple-protocol-unix.la \
879                 module-esound-protocol-unix.la \
880                 module-native-protocol-unix.la \
881                 module-http-protocol-unix.la
882 endif
883
884 if HAVE_MKFIFO
885 modlibexec_LTLIBRARIES += \
886                 module-pipe-sink.la \
887                 module-pipe-source.la
888 endif
889
890 if !OS_IS_WIN32
891 modlibexec_LTLIBRARIES += \
892                 module-esound-compat-spawnfd.la \
893                 module-esound-compat-spawnpid.la
894 endif
895
896 if HAVE_REGEX
897 modlibexec_LTLIBRARIES += \
898                 module-match.la
899 endif
900
901 if HAVE_X11
902 modlibexec_LTLIBRARIES += \
903                 module-x11-bell.la \
904                 module-x11-publish.la
905 endif
906
907 if HAVE_OSS
908 modlibexec_LTLIBRARIES += \
909                 liboss-util.la \
910                 module-oss.la \
911                 module-oss-mmap.la
912 endif
913
914 if HAVE_ALSA
915 modlibexec_LTLIBRARIES += \
916                 libalsa-util.la \
917                 module-alsa-sink.la \
918                 module-alsa-source.la
919 endif
920
921 if HAVE_SOLARIS
922 modlibexec_LTLIBRARIES += \
923                 module-solaris.la
924 endif
925
926 if HAVE_AVAHI
927 modlibexec_LTLIBRARIES += \
928                 module-zeroconf-publish.la
929 endif
930
931 if HAVE_LIRC
932 modlibexec_LTLIBRARIES += \
933                 module-lirc.la
934 endif
935
936 if HAVE_EVDEV
937 modlibexec_LTLIBRARIES += \
938                 module-mmkbd-evdev.la
939 endif
940
941 if HAVE_JACK
942 modlibexec_LTLIBRARIES += \
943                 module-jack-sink.la \
944                 module-jack-source.la
945 endif
946
947 if HAVE_GCONF
948 modlibexec_LTLIBRARIES += \
949                 module-gconf.la
950
951 pulselibexec_PROGRAMS = \
952                 gconf-helper
953 endif
954
955 if OS_IS_WIN32
956 modlibexec_LTLIBRARIES += \
957                 module-waveout.la
958 endif
959
960 if HAVE_HAL
961 modlibexec_LTLIBRARIES += \
962                 libdbus-util.la \
963                 module-hal-detect.la
964 endif
965
966 # These are generated by a M4 script
967
968 SYMDEF_FILES = \
969                 modules/module-cli-symdef.h \
970                 modules/module-cli-protocol-tcp-symdef.h \
971                 modules/module-cli-protocol-unix-symdef.h \
972                 modules/module-pipe-sink-symdef.h \
973                 modules/module-pipe-source-symdef.h \
974                 modules/module-simple-protocol-tcp-symdef.h \
975                 modules/module-simple-protocol-unix-symdef.h \
976                 modules/module-esound-protocol-tcp-symdef.h \
977                 modules/module-esound-protocol-unix-symdef.h \
978                 modules/module-native-protocol-tcp-symdef.h \
979                 modules/module-native-protocol-unix-symdef.h \
980                 modules/module-native-protocol-fd-symdef.h \
981                 modules/module-sine-symdef.h \
982                 modules/module-combine-symdef.h \
983                 modules/module-esound-compat-spawnfd-symdef.h \
984                 modules/module-esound-compat-spawnpid-symdef.h \
985                 modules/module-match-symdef.h \
986                 modules/module-tunnel-sink-symdef.h \
987                 modules/module-tunnel-source-symdef.h \
988                 modules/module-null-sink-symdef.h \
989                 modules/module-esound-sink-symdef.h \
990                 modules/module-zeroconf-publish-symdef.h \
991                 modules/module-lirc-symdef.h \
992                 modules/module-mmkbd-evdev-symdef.h \
993                 modules/module-http-protocol-tcp-symdef.h \
994                 modules/module-http-protocol-unix-symdef.h \
995                 modules/module-x11-bell-symdef.h \
996                 modules/module-x11-publish-symdef.h \
997                 modules/module-oss-symdef.h \
998                 modules/module-oss-mmap-symdef.h \
999                 modules/module-alsa-sink-symdef.h \
1000                 modules/module-alsa-source-symdef.h \
1001                 modules/module-solaris-symdef.h \
1002                 modules/module-waveout-symdef.h \
1003                 modules/module-detect-symdef.h \
1004                 modules/rtp/module-rtp-send-symdef.h \
1005                 modules/rtp/module-rtp-recv-symdef.h \
1006                 modules/module-jack-sink-symdef.h \
1007                 modules/module-jack-source-symdef.h \
1008                 modules/module-volume-restore-symdef.h \
1009                 modules/module-rescue-streams-symdef.h \
1010                 modules/module-hal-detect-symdef.h \
1011                 modules/gconf/module-gconf-symdef.h
1012
1013 EXTRA_DIST += $(SYMDEF_FILES)
1014 BUILT_SOURCES += $(SYMDEF_FILES)
1015
1016 $(SYMDEF_FILES): modules/module-defs.h.m4
1017         -mkdir modules
1018         -mkdir modules/gconf
1019         -mkdir modules/rtp
1020         $(M4) -Dfname="$@" $< > $@
1021
1022 # Simple protocol
1023
1024 module_simple_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1025 module_simple_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
1026 module_simple_protocol_tcp_la_LDFLAGS = -module -avoid-version
1027 module_simple_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-simple.la libsocket-server.la
1028
1029 module_simple_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1030 module_simple_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_SIMPLE $(AM_CFLAGS)
1031 module_simple_protocol_unix_la_LDFLAGS = -module -avoid-version
1032 module_simple_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-simple.la libsocket-server.la libsocket-util.la
1033
1034 # CLI protocol
1035
1036 module_cli_la_SOURCES = modules/module-cli.c
1037 module_cli_la_LDFLAGS = -module -avoid-version
1038 module_cli_la_LIBADD = $(AM_LIBADD) libcli.la libiochannel.la libpulsecore.la
1039
1040 module_cli_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1041 module_cli_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
1042 module_cli_protocol_tcp_la_LDFLAGS = -module -avoid-version
1043 module_cli_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-cli.la libsocket-server.la
1044
1045 module_cli_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1046 module_cli_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_CLI $(AM_CFLAGS)
1047 module_cli_protocol_unix_la_LDFLAGS = -module -avoid-version
1048 module_cli_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-cli.la libsocket-server.la libsocket-util.la
1049
1050 # HTTP protocol
1051
1052 module_http_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1053 module_http_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
1054 module_http_protocol_tcp_la_LDFLAGS = -module -avoid-version
1055 module_http_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-http.la libsocket-server.la
1056
1057 module_http_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1058 module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(AM_CFLAGS)
1059 module_http_protocol_unix_la_LDFLAGS = -module -avoid-version
1060 module_http_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-http.la libsocket-server.la libsocket-util.la
1061
1062 # Native protocol
1063
1064 module_native_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1065 module_native_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
1066 module_native_protocol_tcp_la_LDFLAGS = -module -avoid-version
1067 module_native_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-native.la libsocket-server.la
1068
1069 module_native_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1070 module_native_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_NATIVE $(AM_CFLAGS)
1071 module_native_protocol_unix_la_LDFLAGS = -module -avoid-version
1072 module_native_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-native.la libsocket-server.la libsocket-util.la
1073
1074 module_native_protocol_fd_la_SOURCES = modules/module-native-protocol-fd.c
1075 module_native_protocol_fd_la_CFLAGS = $(AM_CFLAGS)
1076 module_native_protocol_fd_la_LDFLAGS = -module -avoid-version
1077 module_native_protocol_fd_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-native.la libsocket-server.la libsocket-util.la libiochannel.la
1078
1079 # EsounD protocol
1080
1081 module_esound_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c
1082 module_esound_protocol_tcp_la_CFLAGS = -DUSE_TCP_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
1083 module_esound_protocol_tcp_la_LDFLAGS = -module -avoid-version
1084 module_esound_protocol_tcp_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-esound.la libsocket-server.la
1085
1086 module_esound_protocol_unix_la_SOURCES = modules/module-protocol-stub.c
1087 module_esound_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_ESOUND $(AM_CFLAGS)
1088 module_esound_protocol_unix_la_LDFLAGS = -module -avoid-version
1089 module_esound_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore.la libprotocol-esound.la libsocket-server.la libsocket-util.la
1090
1091 module_esound_compat_spawnfd_la_SOURCES = modules/module-esound-compat-spawnfd.c
1092 module_esound_compat_spawnfd_la_LDFLAGS = -module -avoid-version
1093 module_esound_compat_spawnfd_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1094
1095 module_esound_compat_spawnpid_la_SOURCES = modules/module-esound-compat-spawnpid.c
1096 module_esound_compat_spawnpid_la_LDFLAGS = -module -avoid-version
1097 module_esound_compat_spawnpid_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1098
1099 module_esound_sink_la_SOURCES = modules/module-esound-sink.c
1100 module_esound_sink_la_LDFLAGS = -module -avoid-version
1101 module_esound_sink_la_LIBADD = $(AM_LIBADD) libpulsecore.la libiochannel.la libsocket-client.la libauthkey.la
1102
1103 # Pipes
1104
1105 module_pipe_sink_la_SOURCES = modules/module-pipe-sink.c
1106 module_pipe_sink_la_LDFLAGS = -module -avoid-version
1107 module_pipe_sink_la_LIBADD = $(AM_LIBADD) libpulsecore.la libiochannel.la
1108
1109 module_pipe_source_la_SOURCES = modules/module-pipe-source.c
1110 module_pipe_source_la_LDFLAGS = -module -avoid-version
1111 module_pipe_source_la_LIBADD = $(AM_LIBADD) libpulsecore.la libiochannel.la
1112
1113 # Fake sources/sinks
1114
1115 module_sine_la_SOURCES = modules/module-sine.c
1116 module_sine_la_LDFLAGS = -module -avoid-version
1117 module_sine_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1118
1119 module_null_sink_la_SOURCES = modules/module-null-sink.c
1120 module_null_sink_la_LDFLAGS = -module -avoid-version
1121 module_null_sink_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1122
1123 # Couplings
1124
1125 module_combine_la_SOURCES = modules/module-combine.c
1126 module_combine_la_LDFLAGS = -module -avoid-version
1127 module_combine_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1128
1129 module_match_la_SOURCES = modules/module-match.c
1130 module_match_la_LDFLAGS = -module -avoid-version
1131 module_match_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1132
1133 module_tunnel_sink_la_SOURCES = modules/module-tunnel.c
1134 module_tunnel_sink_la_CFLAGS = -DTUNNEL_SINK=1 $(AM_CFLAGS)
1135 module_tunnel_sink_la_LDFLAGS = -module -avoid-version
1136 module_tunnel_sink_la_LIBADD = $(AM_LIBADD) libpulsecore.la libsocket-client.la libpstream.la libpstream-util.la libpdispatch.la libtagstruct.la libauthkey.la libauthkey-prop.la libsocket-util.la libiochannel.la
1137
1138 module_tunnel_source_la_SOURCES = modules/module-tunnel.c
1139 module_tunnel_source_la_LDFLAGS = -module -avoid-version
1140 module_tunnel_source_la_LIBADD = $(AM_LIBADD) libpulsecore.la libsocket-client.la libpstream.la libpstream-util.la libpdispatch.la libtagstruct.la libauthkey.la libauthkey-prop.la libsocket-util.la libiochannel.la
1141
1142 # X11
1143
1144 module_x11_bell_la_SOURCES = modules/module-x11-bell.c
1145 module_x11_bell_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
1146 module_x11_bell_la_LDFLAGS = -module -avoid-version
1147 module_x11_bell_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS) libx11wrap.la libpulsecore.la
1148
1149 module_x11_publish_la_SOURCES = modules/module-x11-publish.c
1150 module_x11_publish_la_CFLAGS = $(AM_CFLAGS) $(X_CFLAGS)
1151 module_x11_publish_la_LDFLAGS = -module -avoid-version
1152 module_x11_publish_la_LIBADD = $(AM_LIBADD) $(X_PRE_LIBS) -lX11 $(X_LIBS) $(X_EXTRA_LIBS) libx11wrap.la libauthkey.la libauthkey-prop.la libx11prop.la libstrlist.la
1153
1154 # OSS
1155
1156 liboss_util_la_SOURCES = modules/oss-util.c modules/oss-util.h
1157 liboss_util_la_LDFLAGS = -avoid-version
1158 liboss_util_la_LIBADD = libpulsecore.la
1159
1160 module_oss_la_SOURCES = modules/module-oss.c
1161 module_oss_la_LDFLAGS = -module -avoid-version
1162 module_oss_la_LIBADD = $(AM_LIBADD) libiochannel.la liboss-util.la
1163
1164 module_oss_mmap_la_SOURCES = modules/module-oss-mmap.c
1165 module_oss_mmap_la_LDFLAGS = -module -avoid-version
1166 module_oss_mmap_la_LIBADD = $(AM_LIBADD) liboss-util.la libpulsecore.la
1167
1168 # ALSA
1169
1170 libalsa_util_la_SOURCES = modules/alsa-util.c modules/alsa-util.h
1171 libalsa_util_la_LDFLAGS = -avoid-version
1172 libalsa_util_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libpulsecore.la
1173 libalsa_util_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1174
1175 module_alsa_sink_la_SOURCES = modules/module-alsa-sink.c
1176 module_alsa_sink_la_LDFLAGS = -module -avoid-version
1177 module_alsa_sink_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la libpulsecore.la
1178 module_alsa_sink_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1179
1180 module_alsa_source_la_SOURCES = modules/module-alsa-source.c
1181 module_alsa_source_la_LDFLAGS = -module -avoid-version
1182 module_alsa_source_la_LIBADD = $(AM_LIBADD) $(ASOUNDLIB_LIBS) libalsa-util.la libpulsecore.la
1183 module_alsa_source_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS)
1184
1185 # Solaris
1186
1187 module_solaris_la_SOURCES = modules/module-solaris.c
1188 module_solaris_la_LDFLAGS = -module -avoid-version
1189 module_solaris_la_LIBADD = $(AM_LIBADD) libiochannel.la
1190
1191 # Avahi
1192
1193 module_zeroconf_publish_la_SOURCES = modules/module-zeroconf-publish.c
1194 module_zeroconf_publish_la_LDFLAGS = -module -avoid-version
1195 module_zeroconf_publish_la_LIBADD = $(AM_LIBADD) $(AVAHI_LIBS) libavahi-wrap.la libpulsecore.la
1196 module_zeroconf_publish_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
1197
1198 # LIRC
1199
1200 module_lirc_la_SOURCES = modules/module-lirc.c
1201 module_lirc_la_LDFLAGS = -module -avoid-version
1202 module_lirc_la_LIBADD = $(AM_LIBADD) $(LIRC_LIBS) libpulsecore.la
1203 module_lirc_la_CFLAGS = $(AM_CFLAGS) $(LIRC_CFLAGS)
1204
1205 # Linux evdev
1206
1207 module_mmkbd_evdev_la_SOURCES = modules/module-mmkbd-evdev.c
1208 module_mmkbd_evdev_la_LDFLAGS = -module -avoid-version
1209 module_mmkbd_evdev_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1210 module_mmkbd_evdev_la_CFLAGS = $(AM_CFLAGS)
1211
1212 # Windows waveout
1213
1214 module_waveout_la_SOURCES = modules/module-waveout.c
1215 module_waveout_la_LDFLAGS = -module -avoid-version
1216 module_waveout_la_LIBADD = $(AM_LIBADD) libpulsecore.la -lwinmm
1217 module_waveout_la_CFLAGS = $(AM_CFLAGS)
1218
1219 # Hardware autodetection module
1220 module_detect_la_SOURCES = modules/module-detect.c
1221 module_detect_la_LDFLAGS = -module -avoid-version
1222 module_detect_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1223 module_detect_la_CFLAGS = $(AM_CFLAGS)
1224
1225 # Volume restore module
1226 module_volume_restore_la_SOURCES = modules/module-volume-restore.c
1227 module_volume_restore_la_LDFLAGS = -module -avoid-version
1228 module_volume_restore_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1229 module_volume_restore_la_CFLAGS = $(AM_CFLAGS)
1230
1231 # Rescue streams module
1232 module_rescue_streams_la_SOURCES = modules/module-rescue-streams.c
1233 module_rescue_streams_la_LDFLAGS = -module -avoid-version
1234 module_rescue_streams_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1235 module_rescue_streams_la_CFLAGS = $(AM_CFLAGS)
1236
1237 # RTP modules
1238 module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
1239 module_rtp_send_la_LDFLAGS = -module -avoid-version
1240 module_rtp_send_la_LIBADD = $(AM_LIBADD) libpulsecore.la librtp.la
1241 module_rtp_send_la_CFLAGS = $(AM_CFLAGS)
1242
1243 module_rtp_recv_la_SOURCES = modules/rtp/module-rtp-recv.c
1244 module_rtp_recv_la_LDFLAGS = -module -avoid-version
1245 module_rtp_recv_la_LIBADD = $(AM_LIBADD) libpulsecore.la librtp.la
1246 module_rtp_recv_la_CFLAGS = $(AM_CFLAGS)
1247
1248 # JACK
1249
1250 module_jack_sink_la_SOURCES = modules/module-jack-sink.c
1251 module_jack_sink_la_LDFLAGS = -module -avoid-version
1252 module_jack_sink_la_LIBADD = $(AM_LIBADD) libpulsecore.la $(JACK_LIBS)
1253 module_jack_sink_la_CFLAGS = $(AM_LIBADD) $(JACK_CFLAGS)
1254
1255 module_jack_source_la_SOURCES = modules/module-jack-source.c
1256 module_jack_source_la_LDFLAGS = -module -avoid-version
1257 module_jack_source_la_LIBADD = $(AM_LIBADD) libpulsecore.la $(JACK_LIBS)
1258 module_jack_source_la_CFLAGS = $(AM_LIBADD) $(JACK_CFLAGS)
1259
1260 # HAL
1261 libdbus_util_la_SOURCES = modules/dbus-util.c modules/dbus-util.h
1262 libdbus_util_la_LDFLAGS = -avoid-version
1263 libdbus_util_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) libpulsecore.la
1264 libdbus_util_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
1265
1266 module_hal_detect_la_SOURCES = modules/module-hal-detect.c
1267 module_hal_detect_la_LDFLAGS = -module -avoid-version
1268 module_hal_detect_la_LIBADD = $(AM_LIBADD) $(HAL_LIBS) libpulsecore.la libdbus-util.la
1269 module_hal_detect_la_CFLAGS = $(AM_CFLAGS) $(HAL_CFLAGS)
1270
1271 # GConf support
1272 module_gconf_la_SOURCES = modules/gconf/module-gconf.c
1273 module_gconf_la_LDFLAGS = -module -avoid-version
1274 module_gconf_la_LIBADD = $(AM_LIBADD) libpulsecore.la
1275 module_gconf_la_CFLAGS = $(AM_CFLAGS) -DPA_GCONF_HELPER=\"$(pulselibexecdir)/gconf-helper\"
1276
1277 gconf_helper_SOURCES = modules/gconf/gconf-helper.c
1278 gconf_helper_LDADD = $(AM_LDADD) $(GCONF_LIBS)
1279 gconf_helper_CFLAGS = $(AM_CFLAGS) $(GCONF_CFLAGS)
1280 gconf_helper_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS)
1281
1282 ###################################
1283 #        Some minor stuff         #
1284 ###################################
1285
1286 suid: pulse
1287         chown root $<
1288         chmod u+s $<
1289
1290 CLEANFILES = esdcompat client.conf default.pa daemon.conf
1291
1292 esdcompat: daemon/esdcompat.in Makefile
1293         sed -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
1294                 -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
1295                 -e 's,@PA_BINARY\@,$(PA_BINARY),g' < $< > $@
1296         chmod +x esdcompat
1297
1298 client.conf: pulse/client.conf.in Makefile
1299         sed -e 's,@PA_BINARY\@,$(PA_BINARY),g' < $< > $@
1300
1301 if OS_IS_WIN32    
1302 default.pa: daemon/default.pa.win32
1303         cp $< $@
1304 else
1305 default.pa: daemon/default.pa.in Makefile
1306         sed -e 's,@PA_BINARY\@,$(PA_BINARY),g' \
1307             -e 's,@HAVE_HAL_TRUE\@,@HAVE_HAL_TRUE@,g' \
1308             -e 's,@HAVE_HAL_FALSE\@,@HAVE_HAL_FALSE@,g' < $< > $@
1309 endif
1310
1311 daemon.conf: daemon/daemon.conf.in Makefile
1312         sed -e 's,@PA_DLSEARCHPATH\@,$(modlibexecdir),g' \
1313                 -e 's,@PA_DEFAULT_CONFIG_FILE\@,$(DEFAULT_CONFIG_DIR),g' < $< > $@
1314
1315 install-exec-hook:
1316         chown root $(DESTDIR)$(bindir)/pulseaudio ; true
1317         chmod u+s $(DESTDIR)$(bindir)/pulseaudio
1318         ln -sf pacat $(DESTDIR)$(bindir)/parec
1319         rm -f $(DESTDIR)$(modlibexecdir)/*.a
1320         rm -f $(DESTDIR)$(libdir)/libpulsedsp.a
1321         rm -f $(DESTDIR)$(libdir)/libpulsedsp.la
1322
1323 massif: pulseaudio
1324         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
1325
1326 .PHONY: utils/padsp