1 2 AM_MAKEFLAGS = --no-print-directory 3 4 lib_LTLIBRARIES = 5 6 noinst_LTLIBRARIES = 7 8 bin_PROGRAMS = 9 10 sbin_PROGRAMS = 11 12 noinst_PROGRAMS = 13 14 dist_man_MANS = 15 16 dist_noinst_MANS = 17 18 CLEANFILES = 19 20 EXTRA_DIST = 21 22 includedir = @includedir@/bluetooth 23 24 include_HEADERS = 25 26 if CONFIGFILES 27 dbusdir = $(sysconfdir)/dbus-1/system.d 28 29 dbus_DATA = src/bluetooth.conf 30 31 confdir = $(sysconfdir)/bluetooth 32 33 conf_DATA = 34 35 statedir = $(localstatedir)/lib/bluetooth 36 37 state_DATA = 38 endif 39 40 plugindir = $(libdir)/bluetooth/plugins 41 42 plugin_LTLIBRARIES = 43 44 45 lib_headers = lib/bluetooth.h lib/hci.h lib/hci_lib.h \ 46 lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h \ 47 lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h 48 local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file))) 49 50 include_HEADERS += $(lib_headers) 51 52 lib_LTLIBRARIES += lib/libbluetooth.la 53 54 lib_libbluetooth_la_SOURCES = $(lib_headers) \ 55 lib/bluetooth.c lib/hci.c lib/sdp.c 56 lib_libbluetooth_la_LDFLAGS = -version-info 12:0:9 57 lib_libbluetooth_la_DEPENDENCIES = $(local_headers) 58 59 CLEANFILES += $(local_headers) 60 61 62 if SBC 63 noinst_LTLIBRARIES += sbc/libsbc.la 64 65 sbc_libsbc_la_SOURCES = sbc/sbc.h sbc/sbc.c sbc/sbc_math.h sbc/sbc_tables.h \ 66 sbc/sbc_primitives.h sbc/sbc_primitives.c \ 67 sbc/sbc_primitives_mmx.h sbc/sbc_primitives_mmx.c \ 68 sbc/sbc_primitives_neon.h sbc/sbc_primitives_neon.c \ 69 sbc/sbc_primitives_armv6.h sbc/sbc_primitives_armv6.c 70 71 sbc_libsbc_la_CFLAGS = -finline-functions -fgcse-after-reload \ 72 -funswitch-loops -funroll-loops 73 74 noinst_PROGRAMS += sbc/sbcinfo sbc/sbcdec sbc/sbcenc 75 76 sbc_sbcdec_SOURCES = sbc/sbcdec.c sbc/formats.h 77 sbc_sbcdec_LDADD = sbc/libsbc.la 78 79 sbc_sbcenc_SOURCES = sbc/sbcenc.c sbc/formats.h 80 sbc_sbcenc_LDADD = sbc/libsbc.la 81 82 if SNDFILE 83 noinst_PROGRAMS += sbc/sbctester 84 85 sbc_sbctester_LDADD = @SNDFILE_LIBS@ -lm 86 sbc_sbctest_CFLAGS = @SNDFILE_CFLAGS@ 87 endif 88 endif 89 90 91 if NETLINK 92 plugin_LTLIBRARIES += plugins/netlink.la 93 94 plugins_netlink_la_LIBADD = @NETLINK_LIBS@ 95 plugins_netlink_la_LDFLAGS = -module -avoid-version -no-undefined 96 plugins_netlink_la_CFLAGS = -fvisibility=hidden @DBUS_CFLAGS@ \ 97 @GLIB_CFLAGS@ @NETLINK_CFLAGS@ 98 endif 99 100 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/object.c gdbus/watch.c 101 102 builtin_modules = 103 builtin_sources = 104 builtin_nodist = 105 106 if PNATPLUGIN 107 builtin_modules += pnat 108 builtin_sources += plugins/pnat.c 109 endif 110 111 if ECHOPLUGIN 112 builtin_modules += echo 113 builtin_sources += plugins/echo.c 114 endif 115 116 if AUDIOPLUGIN 117 builtin_modules += audio 118 builtin_sources += audio/main.c \ 119 audio/manager.h audio/manager.c \ 120 audio/gateway.h audio/gateway.c \ 121 audio/headset.h audio/headset.c \ 122 audio/control.h audio/control.c \ 123 audio/device.h audio/device.c \ 124 audio/source.h audio/source.c \ 125 audio/sink.h audio/sink.c \ 126 audio/a2dp.h audio/a2dp.c \ 127 audio/avdtp.h audio/avdtp.c \ 128 audio/ipc.h audio/ipc.c \ 129 audio/unix.h audio/unix.c \ 130 audio/telephony.h 131 builtin_nodist += audio/telephony.c 132 133 noinst_LIBRARIES = audio/libtelephony.a 134 135 audio_libtelephony_a_SOURCES = audio/telephony.h audio/telephony-dummy.c \ 136 audio/telephony-maemo5.c audio/telephony-ofono.c \ 137 audio/telephony-maemo6.c 138 endif 139 140 if INPUTPLUGIN 141 builtin_modules += input 142 builtin_sources += input/main.c \ 143 input/manager.h input/manager.c \ 144 input/server.h input/server.c \ 145 input/device.h input/device.c \ 146 input/fakehid.c input/fakehid.h 147 endif 148 149 if SERIALPLUGIN 150 builtin_modules += serial 151 builtin_sources += serial/main.c \ 152 serial/manager.h serial/manager.c \ 153 serial/proxy.h serial/proxy.c \ 154 serial/port.h serial/port.c 155 endif 156 157 if NETWORKPLUGIN 158 builtin_modules += network 159 builtin_sources += network/main.c \ 160 network/manager.h network/manager.c \ 161 network/common.h network/common.c \ 162 network/server.h network/server.c \ 163 network/connection.h network/connection.c 164 endif 165 166 if SERVICEPLUGIN 167 builtin_modules += service 168 builtin_sources += plugins/service.c 169 endif 170 171 builtin_modules += hciops 172 builtin_sources += plugins/hciops.c 173 174 builtin_modules += hal 175 builtin_sources += plugins/hal.c 176 177 builtin_modules += storage 178 builtin_sources += plugins/storage.c 179 180 if MAEMO6PLUGIN 181 builtin_modules += maemo6 182 builtin_sources += plugins/maemo6.c 183 endif 184 185 sbin_PROGRAMS += src/bluetoothd 186 187 src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \ 188 src/main.c src/log.h src/log.c \ 189 src/security.c src/rfkill.c src/hcid.h src/sdpd.h \ 190 src/sdpd-server.c src/sdpd-request.c \ 191 src/sdpd-service.c src/sdpd-database.c \ 192 src/sdp-xml.h src/sdp-xml.c src/btio.h src/btio.c \ 193 src/textfile.h src/textfile.c \ 194 src/glib-helper.h src/glib-helper.c \ 195 src/oui.h src/oui.c src/uinput.h src/ppoll.h \ 196 src/plugin.h src/plugin.c \ 197 src/storage.h src/storage.c \ 198 src/agent.h src/agent.c \ 199 src/error.h src/error.c \ 200 src/manager.h src/manager.c \ 201 src/adapter.h src/adapter.c \ 202 src/device.h src/device.c \ 203 src/dbus-common.c src/dbus-common.h \ 204 src/dbus-hci.h src/dbus-hci.c 205 src_bluetoothd_LDADD = lib/libbluetooth.la @GLIB_LIBS@ @DBUS_LIBS@ \ 206 @CAPNG_LIBS@ -ldl 207 src_bluetoothd_LDFLAGS = -Wl,--export-dynamic \ 208 -Wl,--version-script=src/bluetooth.ver 209 src_bluetoothd_DEPENDENCIES = src/bluetooth.ver lib/libbluetooth.la 210 211 builtin_files = src/builtin.h $(builtin_nodist) 212 213 nodist_src_bluetoothd_SOURCES = $(builtin_files) 214 215 CLEANFILES += src/bluetooth.ver src/bluetooth.exp $(builtin_files) 216 217 man_MANS = src/bluetoothd.8 218 219 if CONFIGFILES 220 conf_DATA += src/main.conf 221 endif 222 223 EXTRA_DIST += src/genbuiltin src/bluetooth.conf \ 224 src/main.conf network/network.conf \ 225 input/input.conf serial/serial.conf \ 226 audio/audio.conf audio/telephony-dummy.c \ 227 audio/telephony-maemo5.c audio/telephony-ofono.c \ 228 audio/telephony-maemo6.c 229 230 231 if ALSA 232 alsadir = $(libdir)/alsa-lib 233 234 alsa_LTLIBRARIES = audio/libasound_module_pcm_bluetooth.la \ 235 audio/libasound_module_ctl_bluetooth.la 236 237 audio_libasound_module_pcm_bluetooth_la_SOURCES = audio/pcm_bluetooth.c \ 238 audio/rtp.h audio/ipc.h audio/ipc.c 239 audio_libasound_module_pcm_bluetooth_la_LDFLAGS = -module -avoid-version #-export-symbols-regex [_]*snd_pcm_.* 240 audio_libasound_module_pcm_bluetooth_la_LIBADD = sbc/libsbc.la \ 241 lib/libbluetooth.la @ALSA_LIBS@ 242 audio_libasound_module_pcm_bluetooth_la_CFLAGS = @ALSA_CFLAGS@ 243 244 audio_libasound_module_ctl_bluetooth_la_SOURCES = audio/ctl_bluetooth.c \ 245 audio/rtp.h audio/ipc.h audio/ipc.c 246 audio_libasound_module_ctl_bluetooth_la_LDFLAGS = -module -avoid-version #-export-symbols-regex [_]*snd_ctl_.* 247 audio_libasound_module_ctl_bluetooth_la_LIBADD = lib/libbluetooth.la @ALSA_LIBS@ 248 audio_libasound_module_ctl_bluetooth_la_CFLAGS = @ALSA_CFLAGS@ 249 250 if CONFIGFILES 251 alsaconfdir = $(sysconfdir)/alsa 252 253 alsaconf_DATA = audio/bluetooth.conf 254 endif 255 endif 256 257 if AUDIOPLUGIN 258 if GSTREAMER 259 gstreamerdir = $(libdir)/gstreamer-0.10 260 261 gstreamer_LTLIBRARIES = audio/libgstbluetooth.la 262 263 audio_libgstbluetooth_la_SOURCES = audio/gstbluetooth.c audio/gstpragma.h \ 264 audio/gstsbcenc.h audio/gstsbcenc.c \ 265 audio/gstsbcdec.h audio/gstsbcdec.c \ 266 audio/gstsbcparse.h audio/gstsbcparse.c \ 267 audio/gstavdtpsink.h audio/gstavdtpsink.c \ 268 audio/gsta2dpsink.h audio/gsta2dpsink.c \ 269 audio/gstsbcutil.h audio/gstsbcutil.c \ 270 audio/gstrtpsbcpay.h audio/gstrtpsbcpay.c \ 271 audio/rtp.h audio/ipc.h audio/ipc.c 272 audio_libgstbluetooth_la_LDFLAGS = -module -avoid-version 273 audio_libgstbluetooth_la_LIBADD = sbc/libsbc.la lib/libbluetooth.la \ 274 @GSTREAMER_LIBS@ -lgstaudio-0.10 -lgstrtp-0.10 275 audio_libgstbluetooth_la_CFLAGS = -fvisibility=hidden -fno-strict-aliasing \ 276 $(AM_CFLAGS) @GSTREAMER_CFLAGS@ 277 endif 278 endif 279 280 EXTRA_DIST += audio/bluetooth.conf 281 282 283 include Makefile.tools 284 285 if UDEVRULES 286 rulesdir = @UDEV_DATADIR@ 287 288 udev_files = scripts/bluetooth.rules 289 290 if HID2HCI 291 udev_files += scripts/bluetooth-hid2hci.rules 292 endif 293 294 if PCMCIA 295 udev_files += scripts/bluetooth-serial.rules 296 endif 297 298 rules_DATA = $(foreach file,$(udev_files), scripts/97-$(notdir $(file))) 299 endif 300 301 CLEANFILES += $(rules_DATA) 302 303 EXTRA_DIST += scripts/bluetooth.rules \ 304 scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules 305 306 if PCMCIA 307 udevdir = $(libexecdir)/udev 308 309 dist_udev_SCRIPTS = scripts/bluetooth_serial 310 endif 311 312 EXTRA_DIST += doc/manager-api.txt \ 313 doc/adapter-api.txt doc/device-api.txt \ 314 doc/service-api.txt doc/agent-api.txt doc/attribute-api.txt \ 315 doc/serial-api.txt doc/network-api.txt \ 316 doc/input-api.txt doc/audio-api.txt doc/control-api.txt 317 318 AM_YFLAGS = -d 319 320 AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @CAPNG_CFLAGS@ \ 321 -DBLUETOOTH_PLUGIN_BUILTIN -DPLUGINDIR=\""$(plugindir)"\" 322 323 INCLUDES = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \ 324 -I$(srcdir)/audio -I$(srcdir)/sbc -I$(srcdir)/gdbus 325 326 327 pkgconfigdir = $(libdir)/pkgconfig 328 329 pkgconfig_DATA = bluez.pc 330 331 DISTCHECK_CONFIGURE_FLAGS = --disable-udevrules 332 333 DISTCLEANFILES = $(pkgconfig_DATA) 334 335 MAINTAINERCLEANFILES = Makefile.in \ 336 aclocal.m4 configure config.h.in config.sub config.guess \ 337 ltmain.sh depcomp compile missing install-sh mkinstalldirs ylwrap 338 339 src/plugin.$(OBJEXT): src/builtin.h 340 341 src/builtin.h: src/genbuiltin $(builtin_sources) 342 $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@ 343 344 src/bluetooth.exp: $(src_bluetoothd_OBJECTS) 345 $(AM_V_GEN)$(NM) $^ | $(AWK) '{ print $$3 }' | sort -u | \ 346 $(EGREP) -e '^btd_' -e '^g_dbus_' > $@ 347 $(AM_V_at)echo -e "info" >> $@ 348 $(AM_V_at)echo -e "error" >> $@ 349 $(AM_V_at)echo -e "debug" >> $@ 350 351 src/bluetooth.ver: src/bluetooth.exp 352 $(AM_V_at)echo "{ global:" > $@ 353 $(AM_V_GEN)$(SED) -e "s/\(.*\)/\1;/" $< >> $@ 354 $(AM_V_at)echo "local: *; };" >> $@ 355 356 audio/telephony.c: audio/@TELEPHONY_DRIVER@ 357 $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$< $@ 358 359 scripts/%.rules: 360 $(AM_V_GEN)cp $(subst 97-,,$@) $@ 361 362 $(lib_libbluetooth_la_OBJECTS): $(local_headers) 363 364 lib/bluetooth/%.h: lib/%.h 365 $(AM_V_at)$(MKDIR_P) lib/bluetooth 366 $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$< $@ 367 368 clean-local: lib/bluetooth 369 @$(RM) -r $< 370