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