build: Generate module symdefs in src/modules directory

This will make it possible to remove the empty Makefile.am files.
 - module-...-symdef.h files are all generated in src/modules, instead of in the subdir of the module.
 - The default inclusion of src/modules subdirs in AM_CFLAGS can be removed, where necessary (raop) the subdir is
   included in the specific CFLAGS.
 - The src/daemon and src/modules directories are always created on make, to facilitate out of tree builds.
 - AM silent rules are used for the generation of symdef files by m4.
 - For echo-cancel, keep the build dir include for now (and mkdir it) although limit it to just the echo-cancel
   module's CFLAGS (Colin Guthrie)
This commit is contained in:
Maarten Bosmans 2011-01-25 11:01:46 +01:00 committed by Colin Guthrie
parent 8534149fbe
commit d6cdd80b0d

View file

@ -51,29 +51,8 @@ endif
AM_CFLAGS = \ AM_CFLAGS = \
-I$(top_srcdir)/src \ -I$(top_srcdir)/src \
-I$(top_builddir)/src \
-I$(top_srcdir)/src/modules \ -I$(top_srcdir)/src/modules \
-I$(top_builddir)/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 \ $(PTHREAD_CFLAGS) -D_POSIX_PTHREAD_SEMANTICS \
$(LIBSAMPLERATE_CFLAGS) \ $(LIBSAMPLERATE_CFLAGS) \
$(LIBSNDFILE_CFLAGS) \ $(LIBSNDFILE_CFLAGS) \
@ -983,7 +962,7 @@ librtp_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@
libraop_la_SOURCES = \ libraop_la_SOURCES = \
modules/raop/raop_client.c modules/raop/raop_client.h \ modules/raop/raop_client.c modules/raop/raop_client.h \
modules/raop/base64.c modules/raop/base64.h modules/raop/base64.c modules/raop/base64.h
libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) libraop_la_CFLAGS = $(AM_CFLAGS) $(OPENSSL_CFLAGS) -I$(top_srcdir)/src/modules/rtp
libraop_la_LDFLAGS = -avoid-version libraop_la_LDFLAGS = -avoid-version
libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la libraop_la_LIBADD = $(AM_LIBADD) $(OPENSSL_LIBS) libpulsecore-@PA_MAJORMINOR@.la librtp.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la
@ -1242,91 +1221,95 @@ endif
# These are generated by an M4 script # These are generated by an M4 script
SYMDEF_FILES = \ SYMDEF_FILES = \
modules/module-cli-symdef.h \ module-cli-symdef.h \
modules/module-cli-protocol-tcp-symdef.h \ module-cli-protocol-tcp-symdef.h \
modules/module-cli-protocol-unix-symdef.h \ module-cli-protocol-unix-symdef.h \
modules/module-pipe-sink-symdef.h \ module-pipe-sink-symdef.h \
modules/module-pipe-source-symdef.h \ module-pipe-source-symdef.h \
modules/module-simple-protocol-tcp-symdef.h \ module-simple-protocol-tcp-symdef.h \
modules/module-simple-protocol-unix-symdef.h \ module-simple-protocol-unix-symdef.h \
modules/module-esound-protocol-tcp-symdef.h \ module-esound-protocol-tcp-symdef.h \
modules/module-esound-protocol-unix-symdef.h \ module-esound-protocol-unix-symdef.h \
modules/module-native-protocol-tcp-symdef.h \ module-native-protocol-tcp-symdef.h \
modules/module-native-protocol-unix-symdef.h \ module-native-protocol-unix-symdef.h \
modules/module-native-protocol-fd-symdef.h \ module-native-protocol-fd-symdef.h \
modules/module-sine-symdef.h \ module-sine-symdef.h \
modules/module-combine-symdef.h \ module-combine-symdef.h \
modules/module-remap-sink-symdef.h \ module-remap-sink-symdef.h \
modules/module-ladspa-sink-symdef.h \ module-ladspa-sink-symdef.h \
modules/module-equalizer-sink-symdef.h \ module-equalizer-sink-symdef.h \
modules/module-esound-compat-spawnfd-symdef.h \ module-esound-compat-spawnfd-symdef.h \
modules/module-esound-compat-spawnpid-symdef.h \ module-esound-compat-spawnpid-symdef.h \
modules/module-match-symdef.h \ module-match-symdef.h \
modules/module-tunnel-sink-symdef.h \ module-tunnel-sink-symdef.h \
modules/module-tunnel-source-symdef.h \ module-tunnel-source-symdef.h \
modules/module-null-sink-symdef.h \ module-null-sink-symdef.h \
modules/module-sine-source-symdef.h \ module-sine-source-symdef.h \
modules/module-esound-sink-symdef.h \ module-esound-sink-symdef.h \
modules/module-zeroconf-publish-symdef.h \ module-zeroconf-publish-symdef.h \
modules/module-zeroconf-discover-symdef.h \ module-zeroconf-discover-symdef.h \
modules/module-bonjour-publish-symdef.h \ module-bonjour-publish-symdef.h \
modules/module-lirc-symdef.h \ module-lirc-symdef.h \
modules/module-mmkbd-evdev-symdef.h \ module-mmkbd-evdev-symdef.h \
modules/module-http-protocol-tcp-symdef.h \ module-http-protocol-tcp-symdef.h \
modules/module-http-protocol-unix-symdef.h \ module-http-protocol-unix-symdef.h \
modules/module-rygel-media-server-symdef.h \ module-rygel-media-server-symdef.h \
modules/x11/module-x11-bell-symdef.h \ module-x11-bell-symdef.h \
modules/x11/module-x11-publish-symdef.h \ module-x11-publish-symdef.h \
modules/x11/module-x11-xsmp-symdef.h \ module-x11-xsmp-symdef.h \
modules/x11/module-x11-cork-request-symdef.h \ module-x11-cork-request-symdef.h \
modules/oss/module-oss-symdef.h \ module-oss-symdef.h \
modules/alsa/module-alsa-sink-symdef.h \ module-alsa-sink-symdef.h \
modules/alsa/module-alsa-source-symdef.h \ module-alsa-source-symdef.h \
modules/alsa/module-alsa-card-symdef.h \ module-alsa-card-symdef.h \
modules/coreaudio/module-coreaudio-detect-symdef.h \ module-coreaudio-detect-symdef.h \
modules/coreaudio/module-coreaudio-device-symdef.h \ module-coreaudio-device-symdef.h \
modules/module-solaris-symdef.h \ module-solaris-symdef.h \
modules/module-waveout-symdef.h \ module-waveout-symdef.h \
modules/module-detect-symdef.h \ module-detect-symdef.h \
modules/rtp/module-rtp-send-symdef.h \ module-rtp-send-symdef.h \
modules/rtp/module-rtp-recv-symdef.h \ module-rtp-recv-symdef.h \
modules/jack/module-jackdbus-detect-symdef.h \ module-jackdbus-detect-symdef.h \
modules/jack/module-jack-sink-symdef.h \ module-jack-sink-symdef.h \
modules/jack/module-jack-source-symdef.h \ module-jack-source-symdef.h \
modules/module-volume-restore-symdef.h \ module-volume-restore-symdef.h \
modules/module-device-manager-symdef.h \ module-device-manager-symdef.h \
modules/module-device-restore-symdef.h \ module-device-restore-symdef.h \
modules/module-stream-restore-symdef.h \ module-stream-restore-symdef.h \
modules/module-card-restore-symdef.h \ module-card-restore-symdef.h \
modules/module-default-device-restore-symdef.h \ module-default-device-restore-symdef.h \
modules/module-always-sink-symdef.h \ module-always-sink-symdef.h \
modules/module-rescue-streams-symdef.h \ module-rescue-streams-symdef.h \
modules/module-intended-roles-symdef.h \ module-intended-roles-symdef.h \
modules/module-suspend-on-idle-symdef.h \ module-suspend-on-idle-symdef.h \
modules/echo-cancel/module-echo-cancel-symdef.h \ module-echo-cancel-symdef.h \
modules/module-hal-detect-symdef.h \ module-hal-detect-symdef.h \
modules/module-udev-detect-symdef.h \ module-udev-detect-symdef.h \
modules/bluetooth/module-bluetooth-proximity-symdef.h \ module-bluetooth-proximity-symdef.h \
modules/bluetooth/module-bluetooth-discover-symdef.h \ module-bluetooth-discover-symdef.h \
modules/bluetooth/module-bluetooth-device-symdef.h \ module-bluetooth-device-symdef.h \
modules/raop/module-raop-sink-symdef.h \ module-raop-sink-symdef.h \
modules/raop/module-raop-discover-symdef.h \ module-raop-discover-symdef.h \
modules/gconf/module-gconf-symdef.h \ module-gconf-symdef.h \
modules/module-position-event-sounds-symdef.h \ module-position-event-sounds-symdef.h \
modules/module-augment-properties-symdef.h \ module-augment-properties-symdef.h \
modules/module-cork-music-on-phone-symdef.h \ module-cork-music-on-phone-symdef.h \
modules/module-console-kit-symdef.h \ module-console-kit-symdef.h \
modules/dbus/module-dbus-protocol-symdef.h \ module-dbus-protocol-symdef.h \
modules/module-loopback-symdef.h \ module-loopback-symdef.h \
modules/module-virtual-sink-symdef.h \ module-virtual-sink-symdef.h \
modules/module-virtual-source-symdef.h module-virtual-source-symdef.h
EXTRA_DIST += $(SYMDEF_FILES) EXTRA_DIST += $(SYMDEF_FILES)
BUILT_SOURCES += $(SYMDEF_FILES) BUILT_SOURCES += $(SYMDEF_FILES) builddirs
$(SYMDEF_FILES): modules/module-defs.h.m4 $(SYMDEF_FILES): modules/module-defs.h.m4
$(MKDIR_P) $(dir $@) $(AM_V_at)$(MKDIR_P) modules
$(M4) -Dfname="$@" $< > $@ $(AM_V_GEN)$(M4) -Dfname="$@" $< > $@
.PHONY: builddirs
builddirs:
$(AM_V_at)$(MKDIR_P) daemon modules src/modules/echo-cancel
# Simple protocol # Simple protocol
@ -1729,7 +1712,7 @@ module_echo_cancel_la_SOURCES = modules/echo-cancel/module-echo-cancel.c modules
nodist_module_echo_cancel_la_SOURCES = $(ORC_NODIST_SOURCES) nodist_module_echo_cancel_la_SOURCES = $(ORC_NODIST_SOURCES)
module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS) module_echo_cancel_la_LDFLAGS = $(MODULE_LDFLAGS)
module_echo_cancel_la_LIBADD = $(MODULE_LIBADD) $(LIBSPEEX_LIBS) $(ORC_LIBS) 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_CFLAGS = $(AM_CFLAGS) $(LIBSPEEX_CFLAGS) $(ORC_CFLAGS) -I$(top_builddir)/src/modules/echo-cancel
# RTP modules # RTP modules
module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c module_rtp_send_la_SOURCES = modules/rtp/module-rtp-send.c
@ -1834,6 +1817,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_SOURCES = modules/raop/module-raop-sink.c
module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS) module_raop_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
module_raop_sink_la_LIBADD = $(MODULE_LIBADD) librtp.la libraop.la 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_SOURCES = modules/raop/module-raop-discover.c
module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS) module_raop_discover_la_LDFLAGS = $(MODULE_LDFLAGS)