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