2 AM_MAKEFLAGS = --no-print-directory
24 includedir = @includedir@/bluetooth
28 AM_CFLAGS = $(WARNING_CFLAGS) $(MISC_CFLAGS)
29 AM_LDFLAGS = $(MISC_LDFLAGS)
32 dbusdir = $(sysconfdir)/dbus-1/system.d
33 dbusservicedir = $(datadir)/dbus-1/system-services
35 dbus_DATA = src/bluetooth.conf
36 dbusservice_DATA = src/org.bluez.service
38 confdir = $(sysconfdir)/bluetooth
42 statedir = $(localstatedir)/lib/bluetooth
47 systemdunitdir = @SYSTEMD_UNITDIR@
49 systemdunit_DATA = src/bluetooth.service
53 plugindir = $(libdir)/bluetooth/plugins
56 build_plugindir = $(abs_top_srcdir)/plugins/.libs
58 build_plugindir = $(plugindir)
65 lib_headers = lib/bluetooth.h lib/hci.h lib/hci_lib.h lib/mgmt.h \
66 lib/sco.h lib/l2cap.h lib/sdp.h lib/sdp_lib.h lib/uuid.h \
67 lib/rfcomm.h lib/bnep.h lib/cmtp.h lib/hidp.h lib/a2mp.h
68 local_headers = $(foreach file,$(lib_headers), lib/bluetooth/$(notdir $(file)))
70 BUILT_SOURCES = $(local_headers) src/builtin.h
72 include_HEADERS += $(lib_headers)
74 lib_LTLIBRARIES += lib/libbluetooth.la
76 lib_libbluetooth_la_SOURCES = $(lib_headers) \
77 lib/bluetooth.c lib/hci.c lib/sdp.c lib/uuid.c
78 lib_libbluetooth_la_LDFLAGS = $(AM_LDFLAGS) -version-info 16:0:13
79 lib_libbluetooth_la_DEPENDENCIES = $(local_headers)
81 noinst_LTLIBRARIES += lib/libbluetooth-private.la
83 lib_libbluetooth_private_la_SOURCES = $(lib_libbluetooth_la_SOURCES)
86 noinst_LTLIBRARIES += sbc/libsbc.la
88 sbc_libsbc_la_SOURCES = sbc/sbc.h sbc/sbc.c sbc/sbc_math.h sbc/sbc_tables.h \
89 sbc/sbc_primitives.h sbc/sbc_primitives.c \
90 sbc/sbc_primitives_mmx.h sbc/sbc_primitives_mmx.c \
91 sbc/sbc_primitives_iwmmxt.h sbc/sbc_primitives_iwmmxt.c \
92 sbc/sbc_primitives_neon.h sbc/sbc_primitives_neon.c \
93 sbc/sbc_primitives_armv6.h sbc/sbc_primitives_armv6.c
95 sbc_libsbc_la_CFLAGS = $(AM_CFLAGS) -finline-functions -fgcse-after-reload \
96 -funswitch-loops -funroll-loops
98 noinst_PROGRAMS += sbc/sbcinfo sbc/sbcdec sbc/sbcenc
100 sbc_sbcdec_SOURCES = sbc/sbcdec.c sbc/formats.h
101 sbc_sbcdec_LDADD = sbc/libsbc.la
103 sbc_sbcenc_SOURCES = sbc/sbcenc.c sbc/formats.h
104 sbc_sbcenc_LDADD = sbc/libsbc.la
107 noinst_PROGRAMS += sbc/sbctester
109 sbc_sbctester_LDADD = @SNDFILE_LIBS@ -lm
110 sbc_sbctest_CFLAGS = $(AM_CFLAGS) @SNDFILE_CFLAGS@
114 attrib_sources = attrib/att.h attrib/att-database.h attrib/att.c \
115 attrib/gatt.h attrib/gatt.c \
116 attrib/gattrib.h attrib/gattrib.c attrib/client.h \
117 attrib/client.c attrib/gatt-service.h attrib/gatt-service.c
119 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \
120 gdbus/object.c gdbus/polkit.c
122 btio_sources = btio/btio.h btio/btio.c
130 mcap_sources += health/mcap_lib.h health/mcap_internal.h \
131 health/mcap.h health/mcap.c \
136 builtin_modules += pnat
137 builtin_sources += plugins/pnat.c
141 builtin_modules += audio
142 builtin_sources += audio/main.c \
143 audio/manager.h audio/manager.c \
144 audio/gateway.h audio/gateway.c \
145 audio/headset.h audio/headset.c \
146 audio/control.h audio/control.c \
147 audio/avctp.h audio/avctp.c \
148 audio/avrcp.h audio/avrcp.c \
149 audio/device.h audio/device.c \
150 audio/source.h audio/source.c \
151 audio/sink.h audio/sink.c \
152 audio/a2dp.h audio/a2dp.c \
153 audio/avdtp.h audio/avdtp.c \
154 audio/ipc.h audio/ipc.c \
155 audio/unix.h audio/unix.c \
156 audio/media.h audio/media.c \
157 audio/transport.h audio/transport.c \
158 audio/telephony.h audio/a2dp-codecs.h
159 builtin_nodist += audio/telephony.c
161 noinst_LIBRARIES += audio/libtelephony.a
163 audio_libtelephony_a_SOURCES = audio/telephony.h audio/telephony-dummy.c \
164 audio/telephony-maemo5.c audio/telephony-ofono.c \
165 audio/telephony-maemo6.c audio/telephony-tizen.c
169 builtin_modules += sap
170 builtin_sources += sap/main.c \
171 sap/manager.h sap/manager.c \
172 sap/server.h sap/server.c \
175 builtin_nodist += sap/sap.c
177 noinst_LIBRARIES += sap/libsap.a
179 sap_libsap_a_SOURCES = sap/sap.h sap/sap-dummy.c sap/sap-u8500.c
183 builtin_modules += input
184 builtin_sources += input/main.c \
185 input/manager.h input/manager.c \
186 input/server.h input/server.c \
187 input/device.h input/device.c \
188 input/fakehid.c input/fakehid.h
192 builtin_modules += serial
193 builtin_sources += serial/main.c \
194 serial/manager.h serial/manager.c \
195 serial/proxy.h serial/proxy.c \
196 serial/port.h serial/port.c
200 builtin_modules += network
201 builtin_sources += network/main.c \
202 network/manager.h network/manager.c \
203 network/common.h network/common.c \
204 network/server.h network/server.c \
205 network/connection.h network/connection.c
209 builtin_modules += service
210 builtin_sources += plugins/service.c
214 builtin_modules += health
215 builtin_sources += health/hdp_main.c health/hdp_types.h \
216 health/hdp_manager.h health/hdp_manager.c \
217 health/hdp.h health/hdp.c \
218 health/hdp_util.h health/hdp_util.c
222 builtin_modules += thermometer alert time gatt_example proximity \
224 builtin_sources += thermometer/main.c \
225 thermometer/manager.h thermometer/manager.c \
226 thermometer/thermometer.h thermometer/thermometer.c \
227 alert/main.c alert/server.h alert/server.c \
228 time/main.c time/server.h time/server.c \
229 plugins/gatt-example.c \
230 proximity/main.c proximity/manager.h proximity/manager.c \
231 proximity/monitor.h proximity/monitor.c \
232 proximity/reporter.h proximity/reporter.c \
233 proximity/linkloss.h proximity/linkloss.c \
234 proximity/immalert.h proximity/immalert.c \
236 deviceinfo/manager.h deviceinfo/manager.c \
237 deviceinfo/deviceinfo.h deviceinfo/deviceinfo.c
241 builtin_modules += hciops mgmtops
242 builtin_sources += plugins/hciops.c plugins/mgmtops.c
245 builtin_modules += hal
246 builtin_sources += plugins/hal.c
248 builtin_modules += formfactor
249 builtin_sources += plugins/formfactor.c
252 EXTRA_DIST += plugins/hal.c plugins/formfactor.c
254 builtin_modules += storage
255 builtin_sources += plugins/storage.c
257 builtin_modules += adaptername
258 builtin_sources += plugins/adaptername.c
261 builtin_modules += wiimote
262 builtin_sources += plugins/wiimote.c
266 builtin_modules += maemo6
267 builtin_sources += plugins/maemo6.c
271 builtin_modules += dbusoob
272 builtin_sources += plugins/dbusoob.c
276 plugin_LTLIBRARIES += plugins/external-dummy.la
277 plugins_external_dummy_la_SOURCES = plugins/external-dummy.c
278 plugins_external_dummy_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version \
280 plugins_external_dummy_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden
283 sbin_PROGRAMS += src/bluetoothd
285 src_bluetoothd_SOURCES = $(gdbus_sources) $(builtin_sources) \
286 $(attrib_sources) $(btio_sources) \
287 $(mcap_sources) src/bluetooth.ver \
288 src/main.c src/log.h src/log.c \
289 src/rfkill.c src/hcid.h src/sdpd.h \
290 src/sdpd-server.c src/sdpd-request.c \
291 src/sdpd-service.c src/sdpd-database.c \
292 src/attrib-server.h src/attrib-server.c \
293 src/sdp-xml.h src/sdp-xml.c \
294 src/sdp-client.h src/sdp-client.c \
295 src/textfile.h src/textfile.c \
296 src/glib-helper.h src/glib-helper.c \
297 src/oui.h src/oui.c src/uinput.h src/ppoll.h \
298 src/plugin.h src/plugin.c \
299 src/storage.h src/storage.c \
300 src/agent.h src/agent.c \
301 src/error.h src/error.c \
302 src/manager.h src/manager.c \
303 src/adapter.h src/adapter.c \
304 src/device.h src/device.c src/attio.h \
305 src/dbus-common.c src/dbus-common.h \
306 src/event.h src/event.c \
307 src/oob.h src/oob.c src/eir.h src/eir.c
308 src_bluetoothd_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @DBUS_LIBS@ \
310 src_bluetoothd_LDFLAGS = $(AM_LDFLAGS) -Wl,--export-dynamic \
311 -Wl,--version-script=$(srcdir)/src/bluetooth.ver
313 src_bluetoothd_DEPENDENCIES = lib/libbluetooth-private.la
315 src_bluetoothd_CFLAGS = $(AM_CFLAGS) -DBLUETOOTH_PLUGIN_BUILTIN \
316 -DPLUGINDIR=\""$(build_plugindir)"\"
317 src_bluetoothd_SHORTNAME = bluetoothd
319 builtin_files = src/builtin.h $(builtin_nodist)
321 nodist_src_bluetoothd_SOURCES = $(builtin_files)
323 CLEANFILES += $(builtin_files)
325 man_MANS = src/bluetoothd.8
328 conf_DATA += src/main.conf
331 EXTRA_DIST += src/genbuiltin src/bluetooth.conf src/org.bluez.service \
332 src/main.conf network/network.conf \
333 input/input.conf serial/serial.conf \
334 audio/audio.conf audio/telephony-dummy.c \
335 audio/telephony-maemo5.c audio/telephony-ofono.c \
336 audio/telephony-maemo6.c sap/sap-dummy.c sap/sap-u8500.c \
337 proximity/proximity.conf
340 alsadir = $(libdir)/alsa-lib
342 alsa_LTLIBRARIES = audio/libasound_module_pcm_bluetooth.la \
343 audio/libasound_module_ctl_bluetooth.la
345 audio_libasound_module_pcm_bluetooth_la_SOURCES = audio/pcm_bluetooth.c \
346 audio/rtp.h audio/ipc.h audio/ipc.c
347 audio_libasound_module_pcm_bluetooth_la_LDFLAGS = $(AM_LDFLAGS) -module \
349 audio_libasound_module_pcm_bluetooth_la_LIBADD = sbc/libsbc.la \
350 lib/libbluetooth-private.la @ALSA_LIBS@
351 audio_libasound_module_pcm_bluetooth_la_CFLAGS = $(AM_CFLAGS) @ALSA_CFLAGS@
353 audio_libasound_module_ctl_bluetooth_la_SOURCES = audio/ctl_bluetooth.c \
354 audio/rtp.h audio/ipc.h audio/ipc.c
355 audio_libasound_module_ctl_bluetooth_la_LDFLAGS = $(AM_LDFLAGS) -module \
357 audio_libasound_module_ctl_bluetooth_la_LIBADD = \
358 lib/libbluetooth-private.la @ALSA_LIBS@
359 audio_libasound_module_ctl_bluetooth_la_CFLAGS = $(AM_CFLAGS) @ALSA_CFLAGS@
362 alsaconfdir = $(datadir)/alsa
364 alsaconf_DATA = audio/bluetooth.conf
370 gstreamerdir = $(libdir)/gstreamer-0.10
372 gstreamer_LTLIBRARIES = audio/libgstbluetooth.la
374 audio_libgstbluetooth_la_SOURCES = audio/gstbluetooth.c audio/gstpragma.h \
375 audio/gstsbcenc.h audio/gstsbcenc.c \
376 audio/gstsbcdec.h audio/gstsbcdec.c \
377 audio/gstsbcparse.h audio/gstsbcparse.c \
378 audio/gstavdtpsink.h audio/gstavdtpsink.c \
379 audio/gsta2dpsink.h audio/gsta2dpsink.c \
380 audio/gstsbcutil.h audio/gstsbcutil.c \
381 audio/gstrtpsbcpay.h audio/gstrtpsbcpay.c \
382 audio/rtp.h audio/ipc.h audio/ipc.c
383 audio_libgstbluetooth_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version
384 audio_libgstbluetooth_la_LIBADD = sbc/libsbc.la lib/libbluetooth-private.la \
385 @DBUS_LIBS@ @GSTREAMER_LIBS@ \
386 -lgstaudio-0.10 -lgstrtp-0.10
387 audio_libgstbluetooth_la_CFLAGS = -fvisibility=hidden -fno-strict-aliasing \
388 $(AM_CFLAGS) @DBUS_CFLAGS@ @GSTREAMER_CFLAGS@
392 EXTRA_DIST += audio/bluetooth.conf
395 include Makefile.tools
398 rulesdir = @UDEV_DIR@/rules.d
403 udev_files += scripts/bluetooth-hid2hci.rules
409 udev_files += scripts/bluetooth-serial.rules
411 dist_udev_SCRIPTS = scripts/bluetooth_serial
414 rules_DATA = $(foreach file,$(udev_files), scripts/97-$(notdir $(file)))
417 CLEANFILES += $(rules_DATA)
419 EXTRA_DIST += scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules
421 EXTRA_DIST += doc/manager-api.txt \
422 doc/adapter-api.txt doc/device-api.txt \
423 doc/service-api.txt doc/agent-api.txt doc/attribute-api.txt \
424 doc/serial-api.txt doc/network-api.txt \
425 doc/input-api.txt doc/audio-api.txt doc/control-api.txt \
426 doc/hfp-api.txt doc/health-api.txt doc/sap-api.txt \
427 doc/media-api.txt doc/assigned-numbers.txt
431 AM_CFLAGS += @DBUS_CFLAGS@ @GLIB_CFLAGS@
433 INCLUDES = -I$(builddir)/lib -I$(builddir)/src -I$(srcdir)/src \
434 -I$(srcdir)/audio -I$(srcdir)/sbc -I$(srcdir)/gdbus \
435 -I$(srcdir)/attrib -I$(srcdir)/btio -I$(srcdir)/tools \
436 -I$(builddir)/tools -I$(srcdir)/monitor
439 INCLUDES += -I$(builddir)/health
445 unit_tests = unit/test-eir
447 noinst_PROGRAMS += $(unit_tests)
449 unit_test_eir_SOURCES = unit/test-eir.c src/eir.c src/glib-helper.c
450 unit_test_eir_LDADD = lib/libbluetooth-private.la @GLIB_LIBS@ @CHECK_LIBS@
451 unit_test_eir_CFLAGS = $(AM_CFLAGS) @CHECK_CFLAGS@
452 unit_objects += $(unit_test_eir_OBJECTS)
457 TESTS = $(unit_tests)
459 pkgconfigdir = $(libdir)/pkgconfig
461 pkgconfig_DATA = bluez.pc
463 DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles
465 DISTCLEANFILES = $(pkgconfig_DATA)
467 MAINTAINERCLEANFILES = Makefile.in \
468 aclocal.m4 configure config.h.in config.sub config.guess \
469 ltmain.sh depcomp compile missing install-sh mkinstalldirs ylwrap
471 src/builtin.h: src/genbuiltin $(builtin_sources)
472 $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
474 audio/telephony.c: audio/@TELEPHONY_DRIVER@
475 $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
477 sap/sap.c: sap/@SAP_DRIVER@
478 $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$< $@
481 $(AM_V_GEN)cp $(subst 97-,,$@) $@
483 $(lib_libbluetooth_la_OBJECTS): $(local_headers)
485 lib/bluetooth/%.h: lib/%.h
486 $(AM_V_at)$(MKDIR_P) lib/bluetooth
487 $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
490 $(RM) -r lib/bluetooth