]> code.delx.au - pulseaudio/blobdiff - src/Makefile.am
Implement some functions for win32
[pulseaudio] / src / Makefile.am
index f67b2f68ff17b6fce559f50d771bafe5d5f978e7..c17c225ded99d5f646e85a4f0c8919adafb317ac 100644 (file)
@@ -19,8 +19,6 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 # USA.
 
-SUBDIRS = pulsecore pulse daemon modules utils tests
-
 ###################################
 #       Extra directories         #
 ###################################
@@ -51,33 +49,9 @@ endif
 
 AM_CFLAGS = \
        -I$(top_srcdir)/src \
-       -I$(top_builddir)/src \
        -I$(top_srcdir)/src/modules \
        -I$(top_builddir)/src/modules \
-       -I$(top_srcdir)/src/modules/rtp \
-       -I$(top_builddir)/src/modules/rtp \
-       -I$(top_srcdir)/src/modules/gconf \
-       -I$(top_builddir)/src/modules/gconf \
-       -I$(top_srcdir)/src/modules/bluetooth \
-       -I$(top_builddir)/src/modules/bluetooth \
-       -I$(top_srcdir)/src/modules/oss \
-       -I$(top_builddir)/src/modules/oss \
-       -I$(top_srcdir)/src/modules/alsa \
-       -I$(top_builddir)/src/modules/alsa \
-       -I$(top_srcdir)/src/modules/raop \
-       -I$(top_builddir)/src/modules/raop \
-       -I$(top_srcdir)/src/modules/x11 \
-       -I$(top_builddir)/src/modules/x11 \
-       -I$(top_srcdir)/src/modules/jack \
-       -I$(top_builddir)/src/modules/jack \
-       -I$(top_srcdir)/src/modules/dbus \
-       -I$(top_builddir)/src/modules/dbus \
-       -I$(top_srcdir)/src/modules/echo-cancel \
-       -I$(top_builddir)/src/modules/echo-cancel \
        $(PTHREAD_CFLAGS) -D_POSIX_PTHREAD_SEMANTICS \
-       $(LIBSAMPLERATE_CFLAGS) \
-       $(LIBSNDFILE_CFLAGS) \
-       $(LIBSPEEX_CFLAGS) \
        -DPA_BUILDDIR=\"$(abs_builddir)\" \
        -DPA_DLSEARCHPATH=\"$(modlibexecdir)\" \
        -DPA_DEFAULT_CONFIG_DIR=\"$(PA_DEFAULT_CONFIG_DIR)\" \
@@ -88,8 +62,8 @@ AM_CFLAGS = \
        -DAO_REQUIRE_CAS \
        -DPULSE_LOCALEDIR=\"$(pulselocaledir)\" \
        -DPA_MACHINE_ID=\"$(localstatedir)/lib/dbus/machine-id\" \
-        -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
-        -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
+       -DPA_ALSA_PATHS_DIR=\"$(alsapathsdir)\" \
+       -DPA_ALSA_PROFILE_SETS_DIR=\"$(alsaprofilesetsdir)\"
 
 AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
 AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
@@ -100,12 +74,12 @@ BINLDFLAGS = -static
 endif
 
 if OS_IS_WIN32
-AM_LDFLAGS+=-Wl,--export-all-symbols
+AM_LDFLAGS+=-Wl,--export-all-symbols,--enable-auto-import -no-undefined
 WINSOCK_LIBS=-lwsock32 -lws2_32 -lwininet
 endif
 
 FOREIGN_CFLAGS = -w
-MODULE_LDFLAGS = -module -disable-static -avoid-version $(LDFLAGS_NOUNDEFINED)
+MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(LDFLAGS_NOUNDEFINED)
 MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 ###################################
@@ -150,8 +124,14 @@ xdgautostart_DATA = $(xdgautostart_in_files:.desktop.in=.desktop)
 @INTLTOOL_DESKTOP_RULE@
 
 
-BUILT_SOURCES = \
-               pulse/version.h
+###################################
+#          Includes               #
+###################################
+
+BUILT_SOURCES =
+CLEANFILES =
+include $(top_srcdir)/orc.mak
+ORC_SOURCE =
 
 ###################################
 #          Main daemon            #
@@ -168,8 +148,8 @@ pulseaudio_SOURCES = \
                daemon/ltdl-bind-now.c daemon/ltdl-bind-now.h \
                daemon/main.c
 
-pulseaudio_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(CAP_CFLAGS)
-pulseaudio_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(CAP_LIBS)
+pulseaudio_CFLAGS = $(AM_CFLAGS) $(CAP_CFLAGS)
+pulseaudio_LDADD = $(AM_LDADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(LIBLTDL) $(CAP_LIBS)
 # This is needed because automake doesn't properly expand the foreach below
 pulseaudio_DEPENDENCIES = libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la $(PREOPEN_LIBS)
 
@@ -197,8 +177,11 @@ endif
 
 bin_PROGRAMS += \
                pacat \
-               pactl \
-               pasuspender
+               pactl
+
+if !OS_IS_WIN32
+bin_PROGRAMS += pasuspender
+endif
 
 if HAVE_AF_UNIX
 bin_PROGRAMS += pacmd
@@ -276,9 +259,7 @@ TESTS = \
                envelope-test \
                proplist-test \
                lock-autospawn-test \
-               prioq-test \
-               sigbus-test \
-               usergroup-test
+               prioq-test
 
 TESTS_BINARIES = \
                mainloop-test \
@@ -315,9 +296,16 @@ TESTS_BINARIES = \
                rtstutter \
                stripnul \
                lock-autospawn-test \
-               prioq-test \
+               prioq-test
+
+if !OS_IS_WIN32
+TESTS += \
                sigbus-test \
                usergroup-test
+TESTS_BINARIES += \
+               sigbus-test \
+               usergroup-test
+endif
 
 if HAVE_SIGXCPU
 #TESTS += \
@@ -346,9 +334,11 @@ TESTS_BINARIES += \
 endif
 
 if !OS_IS_DARWIN
+if !OS_IS_WIN32
 TESTS_BINARIES += \
                once-test
 endif
+endif
 
 if BUILD_TESTS_DEFAULT
 noinst_PROGRAMS = $(TESTS_BINARIES)
@@ -582,6 +572,14 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulse/client-conf.c pulse/client-conf.h \
                pulse/i18n.c pulse/i18n.h \
                pulse/fork-detect.c pulse/fork-detect.h \
+               pulse/xmalloc.c pulse/xmalloc.h \
+               pulse/proplist.c pulse/proplist.h \
+               pulse/utf8.c pulse/utf8.h \
+               pulse/channelmap.c pulse/channelmap.h \
+               pulse/sample.c pulse/sample.h \
+               pulse/util.c pulse/util.h \
+               pulse/timeval.c pulse/timeval.h \
+               pulse/rtclock.c pulse/rtclock.h \
                pulsecore/atomic.h \
                pulsecore/authkey.c pulsecore/authkey.h \
                pulsecore/conf-parser.c pulsecore/conf-parser.h \
@@ -637,11 +635,11 @@ libpulsecommon_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/tokenizer.c pulsecore/tokenizer.h \
                pulsecore/usergroup.c pulsecore/usergroup.h \
                pulsecore/sndfile-util.c pulsecore/sndfile-util.h \
-               pulsecore/winsock.h
+               pulsecore/socket.h
 
-libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS)
+libpulsecommon_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSNDFILE_CFLAGS)
 libpulsecommon_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
-libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSNDFILE_LIBS)
+libpulsecommon_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBWRAP_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) $(LIBSAMPLERATE_LIBS) $(LIBSNDFILE_LIBS)
 
 if HAVE_X11
 libpulsecommon_@PA_MAJORMINOR@_la_SOURCES += pulse/client-conf-x11.c pulse/client-conf-x11.h
@@ -877,9 +875,9 @@ libpulsecore_@PA_MAJORMINOR@_la_SOURCES = \
                pulsecore/time-smoother.c pulsecore/time-smoother.h \
                pulsecore/database.h
 
-libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(WINSOCK_CFLAGS)
-libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = -avoid-version
-libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
+libpulsecore_@PA_MAJORMINOR@_la_CFLAGS = $(AM_CFLAGS) $(LIBSAMPLERATE_CFLAGS) $(LIBSPEEX_CFLAGS) $(LIBSNDFILE_CFLAGS) $(WINSOCK_CFLAGS)
+libpulsecore_@PA_MAJORMINOR@_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
+libpulsecore_@PA_MAJORMINOR@_la_LIBADD = $(AM_LIBADD) $(LIBLTDL) $(LIBSAMPLERATE_LIBS) $(LIBSPEEX_LIBS) $(LIBSNDFILE_LIBS) $(WINSOCK_LIBS) $(LTLIBICONV) libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libpulsecore-foreign.la
 
 if HAVE_X11
 libpulsecore_@PA_MAJORMINOR@_la_SOURCES += pulsecore/x11wrap.c pulsecore/x11wrap.h
@@ -948,27 +946,27 @@ modlibexec_LTLIBRARIES += \
 endif
 
 libprotocol_simple_la_SOURCES = pulsecore/protocol-simple.c pulsecore/protocol-simple.h
-libprotocol_simple_la_LDFLAGS = -avoid-version
+libprotocol_simple_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_simple_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 libcli_la_SOURCES = pulsecore/cli.c pulsecore/cli.h
-libcli_la_LDFLAGS = -avoid-version
+libcli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libcli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 libprotocol_cli_la_SOURCES = pulsecore/protocol-cli.c pulsecore/protocol-cli.h
-libprotocol_cli_la_LDFLAGS = -avoid-version
+libprotocol_cli_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_cli_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libcli.la
 
 libprotocol_http_la_SOURCES = pulsecore/protocol-http.c pulsecore/protocol-http.h pulsecore/mime-type.c pulsecore/mime-type.h
-libprotocol_http_la_LDFLAGS = -avoid-version
+libprotocol_http_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_http_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 libprotocol_native_la_SOURCES = pulsecore/protocol-native.c pulsecore/protocol-native.h pulsecore/native-common.h
-libprotocol_native_la_LDFLAGS = -avoid-version
+libprotocol_native_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_native_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 libprotocol_esound_la_SOURCES = pulsecore/protocol-esound.c pulsecore/protocol-esound.h pulsecore/esound.h
-libprotocol_esound_la_LDFLAGS = -avoid-version
+libprotocol_esound_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libprotocol_esound_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 librtp_la_SOURCES = \
@@ -977,19 +975,19 @@ librtp_la_SOURCES = \
                modules/rtp/sap.c modules/rtp/sap.h \
                modules/rtp/rtsp_client.c modules/rtp/rtsp_client.h \
                modules/rtp/headerlist.c modules/rtp/headerlist.h
-librtp_la_LDFLAGS = -avoid-version
+librtp_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 libraop_la_SOURCES = \
         modules/raop/raop_client.c modules/raop/raop_client.h \
         modules/raop/base64.c modules/raop/base64.h
-libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS)
-libraop_la_LDFLAGS = -avoid-version
+libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp
+libraop_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
 # Avahi
 libavahi_wrap_la_SOURCES = pulsecore/avahi-wrap.c pulsecore/avahi-wrap.h
-libavahi_wrap_la_LDFLAGS = -avoid-version
+libavahi_wrap_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version
 libavahi_wrap_la_CFLAGS = $(AM_CFLAGS) $(AVAHI_CFLAGS)
 libavahi_wrap_la_LIBADD = $(AM_LIBADD) $(AVAHI_CFLAGS) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
 
@@ -1242,91 +1240,95 @@ endif
 
 # These are generated by an M4 script
 SYMDEF_FILES = \
-               modules/module-cli-symdef.h \
-               modules/module-cli-protocol-tcp-symdef.h \
-               modules/module-cli-protocol-unix-symdef.h \
-               modules/module-pipe-sink-symdef.h \
-               modules/module-pipe-source-symdef.h \
-               modules/module-simple-protocol-tcp-symdef.h \
-               modules/module-simple-protocol-unix-symdef.h \
-               modules/module-esound-protocol-tcp-symdef.h \
-               modules/module-esound-protocol-unix-symdef.h \
-               modules/module-native-protocol-tcp-symdef.h \
-               modules/module-native-protocol-unix-symdef.h \
-               modules/module-native-protocol-fd-symdef.h \
-               modules/module-sine-symdef.h \
-               modules/module-combine-symdef.h \
-               modules/module-remap-sink-symdef.h \
-               modules/module-ladspa-sink-symdef.h \
-               modules/module-equalizer-sink-symdef.h \
-               modules/module-esound-compat-spawnfd-symdef.h \
-               modules/module-esound-compat-spawnpid-symdef.h \
-               modules/module-match-symdef.h \
-               modules/module-tunnel-sink-symdef.h \
-               modules/module-tunnel-source-symdef.h \
-               modules/module-null-sink-symdef.h \
-               modules/module-sine-source-symdef.h \
-               modules/module-esound-sink-symdef.h \
-               modules/module-zeroconf-publish-symdef.h \
-               modules/module-zeroconf-discover-symdef.h \
-               modules/module-bonjour-publish-symdef.h \
-               modules/module-lirc-symdef.h \
-               modules/module-mmkbd-evdev-symdef.h \
-               modules/module-http-protocol-tcp-symdef.h \
-               modules/module-http-protocol-unix-symdef.h \
-               modules/module-rygel-media-server-symdef.h \
-               modules/x11/module-x11-bell-symdef.h \
-               modules/x11/module-x11-publish-symdef.h \
-               modules/x11/module-x11-xsmp-symdef.h \
-               modules/x11/module-x11-cork-request-symdef.h \
-               modules/oss/module-oss-symdef.h \
-               modules/alsa/module-alsa-sink-symdef.h \
-               modules/alsa/module-alsa-source-symdef.h \
-               modules/alsa/module-alsa-card-symdef.h \
-               modules/coreaudio/module-coreaudio-detect-symdef.h \
-               modules/coreaudio/module-coreaudio-device-symdef.h \
-               modules/module-solaris-symdef.h \
-               modules/module-waveout-symdef.h \
-               modules/module-detect-symdef.h \
-               modules/rtp/module-rtp-send-symdef.h \
-               modules/rtp/module-rtp-recv-symdef.h \
-               modules/jack/module-jackdbus-detect-symdef.h \
-               modules/jack/module-jack-sink-symdef.h \
-               modules/jack/module-jack-source-symdef.h \
-               modules/module-volume-restore-symdef.h \
-               modules/module-device-manager-symdef.h \
-               modules/module-device-restore-symdef.h \
-               modules/module-stream-restore-symdef.h \
-               modules/module-card-restore-symdef.h \
-               modules/module-default-device-restore-symdef.h \
-               modules/module-always-sink-symdef.h \
-               modules/module-rescue-streams-symdef.h \
-               modules/module-intended-roles-symdef.h \
-               modules/module-suspend-on-idle-symdef.h \
-               modules/echo-cancel/module-echo-cancel-symdef.h \
-               modules/module-hal-detect-symdef.h \
-               modules/module-udev-detect-symdef.h \
-               modules/bluetooth/module-bluetooth-proximity-symdef.h \
-               modules/bluetooth/module-bluetooth-discover-symdef.h \
-               modules/bluetooth/module-bluetooth-device-symdef.h \
-               modules/raop/module-raop-sink-symdef.h \
-               modules/raop/module-raop-discover-symdef.h \
-               modules/gconf/module-gconf-symdef.h \
-               modules/module-position-event-sounds-symdef.h \
-               modules/module-augment-properties-symdef.h \
-               modules/module-cork-music-on-phone-symdef.h \
-               modules/module-console-kit-symdef.h \
-               modules/dbus/module-dbus-protocol-symdef.h \
-               modules/module-loopback-symdef.h \
-               modules/module-virtual-sink-symdef.h \
-               modules/module-virtual-source-symdef.h
+               module-cli-symdef.h \
+               module-cli-protocol-tcp-symdef.h \
+               module-cli-protocol-unix-symdef.h \
+               module-pipe-sink-symdef.h \
+               module-pipe-source-symdef.h \
+               module-simple-protocol-tcp-symdef.h \
+               module-simple-protocol-unix-symdef.h \
+               module-esound-protocol-tcp-symdef.h \
+               module-esound-protocol-unix-symdef.h \
+               module-native-protocol-tcp-symdef.h \
+               module-native-protocol-unix-symdef.h \
+               module-native-protocol-fd-symdef.h \
+               module-sine-symdef.h \
+               module-combine-symdef.h \
+               module-remap-sink-symdef.h \
+               module-ladspa-sink-symdef.h \
+               module-equalizer-sink-symdef.h \
+               module-esound-compat-spawnfd-symdef.h \
+               module-esound-compat-spawnpid-symdef.h \
+               module-match-symdef.h \
+               module-tunnel-sink-symdef.h \
+               module-tunnel-source-symdef.h \
+               module-null-sink-symdef.h \
+               module-sine-source-symdef.h \
+               module-esound-sink-symdef.h \
+               module-zeroconf-publish-symdef.h \
+               module-zeroconf-discover-symdef.h \
+               module-bonjour-publish-symdef.h \
+               module-lirc-symdef.h \
+               module-mmkbd-evdev-symdef.h \
+               module-http-protocol-tcp-symdef.h \
+               module-http-protocol-unix-symdef.h \
+               module-rygel-media-server-symdef.h \
+               module-x11-bell-symdef.h \
+               module-x11-publish-symdef.h \
+               module-x11-xsmp-symdef.h \
+               module-x11-cork-request-symdef.h \
+               module-oss-symdef.h \
+               module-alsa-sink-symdef.h \
+               module-alsa-source-symdef.h \
+               module-alsa-card-symdef.h \
+               module-coreaudio-detect-symdef.h \
+               module-coreaudio-device-symdef.h \
+               module-solaris-symdef.h \
+               module-waveout-symdef.h \
+               module-detect-symdef.h \
+               module-rtp-send-symdef.h \
+               module-rtp-recv-symdef.h \
+               module-jackdbus-detect-symdef.h \
+               module-jack-sink-symdef.h \
+               module-jack-source-symdef.h \
+               module-volume-restore-symdef.h \
+               module-device-manager-symdef.h \
+               module-device-restore-symdef.h \
+               module-stream-restore-symdef.h \
+               module-card-restore-symdef.h \
+               module-default-device-restore-symdef.h \
+               module-always-sink-symdef.h \
+               module-rescue-streams-symdef.h \
+               module-intended-roles-symdef.h \
+               module-suspend-on-idle-symdef.h \
+               module-echo-cancel-symdef.h \
+               module-hal-detect-symdef.h \
+               module-udev-detect-symdef.h \
+               module-bluetooth-proximity-symdef.h \
+               module-bluetooth-discover-symdef.h \
+               module-bluetooth-device-symdef.h \
+               module-raop-sink-symdef.h \
+               module-raop-discover-symdef.h \
+               module-gconf-symdef.h \
+               module-position-event-sounds-symdef.h \
+               module-augment-properties-symdef.h \
+               module-cork-music-on-phone-symdef.h \
+               module-console-kit-symdef.h \
+               module-dbus-protocol-symdef.h \
+               module-loopback-symdef.h \
+               module-virtual-sink-symdef.h \
+               module-virtual-source-symdef.h
 
 EXTRA_DIST += $(SYMDEF_FILES)
-BUILT_SOURCES += $(SYMDEF_FILES)
+BUILT_SOURCES += $(SYMDEF_FILES) builddirs
 
 $(SYMDEF_FILES): modules/module-defs.h.m4
-       $(MKDIR_P) $(dir $@)
-       $(M4) -Dfname="$@" $< > $@
+       $(AM_V_at)$(MKDIR_P) modules
+       $(AM_V_GEN)$(M4) -Dfname="$@" $< > $@
+
+.PHONY: builddirs
+builddirs:
+       $(AM_V_at)$(MKDIR_P) daemon modules src/modules/echo-cancel
 
 # Simple protocol
 
@@ -1424,7 +1426,7 @@ module_esound_compat_spawnpid_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_esound_compat_spawnpid_la_LIBADD = $(MODULE_LIBADD)
 
 module_esound_sink_la_SOURCES = modules/module-esound-sink.c
-module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
+module_esound_sink_la_LDFLAGS = $(MODULE_LDFLAGS) $(WINSOCK_LIBS)
 module_esound_sink_la_LIBADD = $(MODULE_LIBADD)
 
 # Pipes
@@ -1448,7 +1450,7 @@ module_null_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_null_sink_la_LIBADD = $(MODULE_LIBADD)
 
 module_sine_source_la_SOURCES = modules/module-sine-source.c
-module_sine_source_la_LDFLAGS = -module -avoid-version
+module_sine_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_sine_source_la_LIBADD = $(MODULE_LIBADD)
 
 # Couplings
@@ -1719,17 +1721,21 @@ module_suspend_on_idle_la_LIBADD = $(MODULE_LIBADD)
 module_suspend_on_idle_la_CFLAGS = $(AM_CFLAGS)
 
 # echo-cancel module
-ORC_SOURCE=modules/echo-cancel/adrian-aec-orc
-include $(top_srcdir)/build/orc.mak
 module_echo_cancel_la_SOURCES = modules/echo-cancel/module-echo-cancel.c modules/echo-cancel/echo-cancel.h \
                                modules/echo-cancel/speex.c \
                                modules/echo-cancel/adrian-aec.c modules/echo-cancel/adrian-aec.h \
-                               modules/echo-cancel/adrian.c modules/echo-cancel/adrian.h \
-                               $(ORC_SOURCE).orc
-nodist_module_echo_cancel_la_SOURCES = $(ORC_NODIST_SOURCES)
+                               modules/echo-cancel/adrian.c modules/echo-cancel/adrian.h
 module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS)
-module_echo_cancel_la_LIBADD = $(MODULE_LIBADD) $(LIBSPEEX_LIBS) $(ORC_LIBS)
-module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(LIBSPEEX_CFLAGS) $(ORC_CFLAGS)
+module_echo_cancel_la_LIBADD = $(MODULE_LIBADD) $(LIBSPEEX_LIBS)
+module_echo_cancel_la_CFLAGS = $(AM_CFLAGS) $(LIBSPEEX_CFLAGS)
+if HAVE_ORC
+ORC_SOURCE += modules/echo-cancel/adrian-aec
+nodist_module_echo_cancel_la_SOURCES = \
+                               modules/echo-cancel/adrian-aec-orc-gen.c \
+                               modules/echo-cancel/adrian-aec-orc-gen.h
+module_echo_cancel_la_LIBADD += $(ORC_LIBS)
+module_echo_cancel_la_CFLAGS += $(ORC_CFLAGS) -I$(top_builddir)/src/modules/echo-cancel
+endif
 
 # RTP modules
 module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
@@ -1834,6 +1840,7 @@ module_bluetooth_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
 module_raop_sink_la_SOURCES = modules/raop/module-raop-sink.c
 module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_raop_sink_la_LIBADD = $(MODULE_LIBADD) librtp.la libraop.la
+module_raop_sink_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/src/modules/rtp
 
 module_raop_discover_la_SOURCES = modules/raop/module-raop-discover.c
 module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS)
@@ -1850,7 +1857,7 @@ module_rygel_media_server_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
 #        Some minor stuff         #
 ###################################
 
-CLEANFILES = esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 start-pulseaudio-kde daemon/pulseaudio.desktop daemon/pulseaudio-kde.desktop
+CLEANFILES += esdcompat client.conf default.pa system.pa daemon.conf start-pulseaudio-x11 start-pulseaudio-kde daemon/pulseaudio.desktop daemon/pulseaudio-kde.desktop
 
 esdcompat: daemon/esdcompat.in Makefile
        sed -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \