# SPDX-License-Identifier: GPL-2.0 if CLIENT bin_PROGRAMS += client/bluetoothctl client_bluetoothctl_SOURCES = client/main.c \ client/print.h client/print.c \ client/display.h client/display.c \ client/agent.h client/agent.c \ client/advertising.h \ client/advertising.c \ client/adv_monitor.h \ client/adv_monitor.c \ client/gatt.h client/gatt.c \ client/admin.h client/admin.c \ client/player.h client/player.c \ client/mgmt.h client/mgmt.c monitor/uuid.h monitor/uuid.c client_bluetoothctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ lib/libbluetooth-internal.la \ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline endif if MONITOR bin_PROGRAMS += monitor/btmon monitor_btmon_SOURCES = monitor/main.c monitor/bt.h \ monitor/display.h monitor/display.c \ monitor/hcidump.h monitor/hcidump.c \ monitor/ellisys.h monitor/ellisys.c \ monitor/control.h monitor/control.c \ monitor/packet.h monitor/packet.c \ monitor/vendor.h monitor/vendor.c \ monitor/lmp.h monitor/lmp.c \ monitor/crc.h monitor/crc.c \ monitor/ll.h monitor/ll.c \ monitor/l2cap.h monitor/l2cap.c \ monitor/sdp.h monitor/sdp.c \ monitor/avctp.h monitor/avctp.c \ monitor/avdtp.h monitor/avdtp.c \ monitor/a2dp.h monitor/a2dp.c \ monitor/rfcomm.h monitor/rfcomm.c \ monitor/bnep.h monitor/bnep.c \ monitor/uuid.h monitor/uuid.c \ monitor/hwdb.h monitor/hwdb.c \ monitor/keys.h monitor/keys.c \ monitor/analyze.h monitor/analyze.c \ monitor/intel.h monitor/intel.c \ monitor/broadcom.h monitor/broadcom.c \ monitor/msft.h monitor/msft.c \ monitor/jlink.h monitor/jlink.c \ monitor/tty.h monitor/emulator.h \ monitor/att.h monitor/att.c \ src/log.h src/bluez-log.c src/log.c \ src/textfile.h src/textfile.c \ src/settings.h src/settings.c monitor_btmon_LDADD = lib/libbluetooth-internal.la \ src/libshared-mainloop.la \ $(GLIB_LIBS) $(UDEV_LIBS) -ldl @LIBXML_LIBS@ if MANPAGES man_MANS += monitor/btmon.1 endif endif manual_pages += monitor/btmon.1 if LOGGER libexec_PROGRAMS += tools/btmon-logger tools_btmon_logger_SOURCES = tools/btmon-logger.c tools_btmon_logger_LDADD = src/libshared-mainloop.la tools_btmon_logger_DEPENDENCIES = src/libshared-mainloop.la \ tools/bluetooth-logger.service if SYSTEMD systemdsystemunit_DATA += tools/bluetooth-logger.service endif endif CLEANFILES += tools/bluetooth-logger.service EXTRA_DIST += tools/bluetooth-logger.service.in if TESTING noinst_PROGRAMS += emulator/btvirt emulator/b1ee emulator/hfp \ peripheral/btsensor tools/3dsp \ tools/mgmt-tester tools/gap-tester \ tools/l2cap-tester tools/sco-tester \ tools/smp-tester tools/hci-tester \ tools/rfcomm-tester tools/bnep-tester \ tools/userchan-tester tools/iso-tester \ tools/mesh-tester tools/ioctl-tester emulator_btvirt_SOURCES = emulator/main.c monitor/bt.h \ emulator/serial.h emulator/serial.c \ emulator/server.h emulator/server.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c \ emulator/phy.h emulator/phy.c \ emulator/amp.h emulator/amp.c \ emulator/le.h emulator/le.c emulator_btvirt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la emulator_b1ee_SOURCES = emulator/b1ee.c emulator_b1ee_LDADD = src/libshared-mainloop.la emulator_hfp_SOURCES = emulator/hfp.c emulator_hfp_LDADD = src/libshared-mainloop.la peripheral_btsensor_SOURCES = peripheral/main.c \ peripheral/efivars.h peripheral/efivars.c \ peripheral/attach.h peripheral/attach.c \ peripheral/log.h peripheral/log.c \ peripheral/gap.h peripheral/gap.c \ peripheral/gatt.h peripheral/gatt.c peripheral_btsensor_LDADD = src/libshared-mainloop.la \ lib/libbluetooth-internal.la tools_3dsp_SOURCES = tools/3dsp.c monitor/bt.h tools_3dsp_LDADD = src/libshared-mainloop.la tools_mgmt_tester_SOURCES = tools/mgmt-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_mgmt_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_mesh_tester_SOURCES = tools/mesh-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_mesh_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_l2cap_tester_SOURCES = tools/l2cap-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_l2cap_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_rfcomm_tester_SOURCES = tools/rfcomm-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_rfcomm_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_bnep_tester_SOURCES = tools/bnep-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_bnep_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_smp_tester_SOURCES = tools/smp-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_smp_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_gap_tester_SOURCES = tools/gap-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_gap_tester_LDADD = lib/libbluetooth-internal.la \ gdbus/libgdbus-internal.la \ src/libshared-glib.la \ $(GLIB_LIBS) $(DBUS_LIBS) tools_sco_tester_SOURCES = tools/sco-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_sco_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_hci_tester_SOURCES = tools/hci-tester.c monitor/bt.h tools_hci_tester_LDADD = src/libshared-glib.la $(GLIB_LIBS) tools_userchan_tester_SOURCES = tools/userchan-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_userchan_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_iso_tester_SOURCES = tools/iso-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_iso_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) tools_ioctl_tester_SOURCES = tools/ioctl-tester.c monitor/bt.h \ emulator/hciemu.h emulator/hciemu.c \ emulator/vhci.h emulator/vhci.c \ emulator/btdev.h emulator/btdev.c \ emulator/bthost.h emulator/bthost.c \ emulator/smp.c tools_ioctl_tester_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) endif if TOOLS bin_PROGRAMS += tools/hciattach tools/hciconfig tools/hcitool tools/hcidump \ tools/rfcomm tools/rctest tools/l2test tools/l2ping \ tools/sdptool tools/ciptool \ tools/bluemoon tools/hex2hcd tools/mpris-proxy tools/isotest tools_hciattach_SOURCES = tools/hciattach.c tools/hciattach.h \ tools/hciattach_st.c \ tools/hciattach_ti.c \ tools/hciattach_tialt.c \ tools/hciattach_ath3k.c \ tools/hciattach_qualcomm.c \ tools/hciattach_intel.c \ tools/hciattach_sprd.c \ tools/pskey_get.c \ tools/hciattach_bcm43xx.c tools_hciattach_LDADD = lib/libbluetooth-internal.la @LIBXML_LIBS@ @INIPARSER_LIBS@ tools_hciconfig_SOURCES = tools/hciconfig.c tools_hciconfig_LDADD = lib/libbluetooth-internal.la tools_hcitool_SOURCES = tools/hcitool.c src/oui.h src/oui.c tools_hcitool_LDADD = lib/libbluetooth-internal.la $(UDEV_LIBS) tools_hcidump_SOURCES = tools/hcidump.c \ tools/parser/parser.h tools/parser/parser.c \ tools/parser/lmp.c \ tools/parser/hci.c \ tools/parser/l2cap.h tools/parser/l2cap.c \ tools/parser/amp.c \ tools/parser/smp.c \ tools/parser/att.c \ tools/parser/sdp.h tools/parser/sdp.c \ tools/parser/rfcomm.h tools/parser/rfcomm.c \ tools/parser/bnep.c \ tools/parser/cmtp.c \ tools/parser/hidp.c \ tools/parser/hcrp.c \ tools/parser/avdtp.c \ tools/parser/avctp.c \ tools/parser/avrcp.c \ tools/parser/sap.c \ tools/parser/obex.c \ tools/parser/capi.c \ tools/parser/ppp.c \ tools/parser/tcpip.c \ tools/parser/ericsson.c \ tools/parser/csr.c \ tools/parser/bpa.c tools_hcidump_LDADD = lib/libbluetooth-internal.la tools_rfcomm_LDADD = lib/libbluetooth-internal.la tools_rctest_LDADD = lib/libbluetooth-internal.la tools_l2test_LDADD = lib/libbluetooth-internal.la tools_l2ping_LDADD = lib/libbluetooth-internal.la tools_sdptool_SOURCES = tools/sdptool.c src/sdp-xml.h src/sdp-xml.c tools_sdptool_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) tools_ciptool_LDADD = lib/libbluetooth-internal.la tools_bluemoon_SOURCES = tools/bluemoon.c monitor/bt.h tools_bluemoon_LDADD = src/libshared-mainloop.la tools_hex2hcd_SOURCES = tools/hex2hcd.c tools_mpris_proxy_SOURCES = tools/mpris-proxy.c tools_mpris_proxy_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS) if MANPAGES man_MANS += tools/hciattach.1 tools/hciconfig.1 \ tools/btmgmt.1 tools/btattach.1 \ client/bluetoothctl-mgmt.1 client/bluetoothctl-monitor.1 \ tools/hcitool.1 tools/hcidump.1 \ tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ tools/sdptool.1 tools/ciptool.1 endif endif manual_pages += tools/hciattach.1 tools/hciconfig.1 \ tools/hcitool.1 tools/hcidump.1 \ tools/rfcomm.1 tools/rctest.1 tools/l2ping.1 \ tools/sdptool.1 tools/ciptool.1 \ tools/bdaddr.1 tools/isotest.1 tools/btmgmt.1 \ client/bluetoothctl-mgmt.1 client/bluetoothctl-monitor.1 if HID2HCI udevdir = $(UDEV_DIR) udev_PROGRAMS = tools/hid2hci tools_hid2hci_LDADD = $(UDEV_LIBS) if MANPAGES man_MANS += tools/hid2hci.1 endif endif manual_pages += tools/hid2hci.1 if MESH bin_PROGRAMS += tools/meshctl tools_meshctl_SOURCES = tools/meshctl.c \ tools/mesh/config-model.h\ tools/mesh-gatt/mesh-net.h \ tools/mesh-gatt/node.h tools/mesh-gatt/node.c \ tools/mesh-gatt/gatt.h tools/mesh-gatt/gatt.c \ tools/mesh-gatt/crypto.h\ tools/mesh-gatt/crypto.c \ tools/mesh-gatt/keys.h \ tools/mesh-gatt/net.h tools/mesh-gatt/net.c \ tools/mesh-gatt/prov.h tools/mesh-gatt/prov.c \ tools/mesh-gatt/util.h tools/mesh-gatt/util.c \ tools/mesh-gatt/agent.h tools/mesh-gatt/agent.c \ tools/mesh-gatt/prov-db.h \ tools/mesh-gatt/prov-db.c \ tools/mesh-gatt/config-client.c \ tools/mesh-gatt/config-server.c \ tools/mesh-gatt/onoff-model.h \ tools/mesh-gatt/onoff-model.c tools_meshctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ lib/libbluetooth-internal.la \ $(GLIB_LIBS) $(DBUS_LIBS) -ljson-c -lreadline bin_PROGRAMS += tools/mesh-cfgclient tools_mesh_cfgclient_SOURCES = tools/mesh-cfgclient.c \ tools/mesh/model.h tools/mesh/config-model.h \ tools/mesh/cfgcli.h tools/mesh/cfgcli.c \ tools/mesh/keys.h tools/mesh/keys.c \ tools/mesh/util.h tools/mesh/util.c \ tools/mesh/remote.h tools/mesh/remote.c \ tools/mesh/agent.h tools/mesh/agent.c \ tools/mesh/mesh-db.h tools/mesh/mesh-db.c \ mesh/util.h mesh/util.c \ mesh/crypto.h mesh/crypto.c tools_mesh_cfgclient_LDADD = lib/libbluetooth-internal.la src/libshared-ell.la src/libshared-glib.la \ @GLIB_LIBS@ @DBUS_LIBS@ $(ell_ldadd) -ljson-c -lreadline endif EXTRA_DIST += tools/mesh-gatt/local_node.json tools/mesh-gatt/prov_db.json if EXPERIMENTAL bin_PROGRAMS += tools/btattach bin_PROGRAMS += tools/btsnoop bin_PROGRAMS += tools/avtest noinst_PROGRAMS += tools/bdaddr tools/avinfo \ tools/scotest tools/amptest tools/hwdb \ tools/hcieventmask tools/hcisecfilter \ tools/btinfo \ tools/btproxy \ tools/btiotest tools/bneptest tools/mcaptest \ tools/cltest tools/oobtest tools/seq2bseq \ tools/nokfw tools/bcmfw tools/create-image \ tools/eddystone tools/ibeacon \ tools/btgatt-client tools/btgatt-server \ tools/test-runner tools/check-selftest tools_bdaddr_SOURCES = tools/bdaddr.c src/oui.h src/oui.c tools_bdaddr_LDADD = lib/libbluetooth-internal.la @UDEV_LIBS@ tools_avinfo_LDADD = lib/libbluetooth-internal.la tools_avtest_LDADD = lib/libbluetooth-internal.la tools_scotest_LDADD = lib/libbluetooth-internal.la tools_amptest_LDADD = lib/libbluetooth-internal.la tools_hwdb_LDADD = lib/libbluetooth-internal.la tools_hcieventmask_LDADD = lib/libbluetooth-internal.la tools_btinfo_SOURCES = tools/btinfo.c monitor/bt.h tools_btinfo_LDADD = src/libshared-mainloop.la tools_btattach_SOURCES = tools/btattach.c monitor/bt.h tools_btattach_LDADD = src/libshared-mainloop.la tools_btsnoop_SOURCES = tools/btsnoop.c tools_btsnoop_LDADD = src/libshared-mainloop.la tools_btproxy_SOURCES = tools/btproxy.c monitor/bt.h tools_btproxy_LDADD = src/libshared-mainloop.la tools_btiotest_SOURCES = tools/btiotest.c btio/btio.h btio/btio.c tools_btiotest_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) tools_mcaptest_SOURCES = tools/mcaptest.c \ btio/btio.h btio/btio.c \ src/log.c src/bluez-log.c src/log.h \ profiles/health/mcap.h profiles/health/mcap.c tools_mcaptest_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) @LIBXML_LIBS@ \ src/libshared-mainloop.la -lrt tools_bneptest_SOURCES = tools/bneptest.c \ btio/btio.h btio/btio.c \ src/log.h src/log.c src/bluez-log.c \ profiles/network/bnep.h profiles/network/bnep.c tools_bneptest_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) @LIBXML_LIBS@ \ src/libshared-mainloop.la tools_cltest_SOURCES = tools/cltest.c tools_cltest_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la tools_oobtest_SOURCES = tools/oobtest.c tools_oobtest_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la tools_seq2bseq_SOURCES = tools/seq2bseq.c tools_nokfw_SOURCES = tools/nokfw.c tools_create_image_SOURCES = tools/create-image.c tools_eddystone_SOURCES = tools/eddystone.c monitor/bt.h tools_eddystone_LDADD = src/libshared-mainloop.la tools_ibeacon_SOURCES = tools/ibeacon.c monitor/bt.h tools_ibeacon_LDADD = src/libshared-mainloop.la tools_btgatt_client_SOURCES = tools/btgatt-client.c src/uuid-helper.c tools_btgatt_client_LDADD = src/libshared-mainloop.la \ lib/libbluetooth-internal.la tools_btgatt_server_SOURCES = tools/btgatt-server.c src/uuid-helper.c tools_btgatt_server_LDADD = src/libshared-mainloop.la \ lib/libbluetooth-internal.la if MANPAGES man_MANS += tools/btattach.1 tools/isotest.1 endif endif EXTRA_DIST += tools/btattach.1 tools/bdaddr.1 if READLINE noinst_PROGRAMS += attrib/gatttool tools/btmgmt \ tools/obex-client-tool tools/obex-server-tool \ tools/bluetooth-player tools/obexctl attrib_gatttool_SOURCES = attrib/gatttool.c attrib/att.c attrib/gatt.c \ attrib/gattrib.c btio/btio.c \ attrib/gatttool.h attrib/interactive.c \ attrib/utils.c src/log.c src/bluez-log.c client/display.c \ client/display.h attrib_gatttool_LDADD = lib/libbluetooth-internal.la \ src/libshared-glib.la $(GLIB_LIBS) -lreadline @LIBXML_LIBS@ tools_obex_client_tool_SOURCES = $(gobex_sources) $(btio_sources) \ tools/obex-client-tool.c tools_obex_client_tool_LDADD = lib/libbluetooth-internal.la \ $(GLIB_LIBS) -lreadline tools_obex_server_tool_SOURCES = $(gobex_sources) $(btio_sources) \ tools/obex-server-tool.c tools_obex_server_tool_LDADD = lib/libbluetooth-internal.la $(GLIB_LIBS) tools_bluetooth_player_SOURCES = tools/bluetooth-player.c client/print.c \ client/player.c client/display.h client/display.c tools_bluetooth_player_LDADD = gdbus/libgdbus-internal.la \ src/libshared-glib.la \ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline tools_obexctl_SOURCES = tools/obexctl.c \ client/display.h client/display.c tools_obexctl_LDADD = gdbus/libgdbus-internal.la src/libshared-glib.la \ $(GLIB_LIBS) $(DBUS_LIBS) -lreadline tools_btmgmt_SOURCES = tools/btmgmt.c src/uuid-helper.c client/display.c \ client/mgmt.c tools_btmgmt_LDADD = lib/libbluetooth-internal.la src/libshared-mainloop.la \ -lreadline endif if EXPERIMENTAL noinst_PROGRAMS += tools/gatt-service tools_gatt_service_SOURCES = tools/gatt-service.c tools_gatt_service_LDADD = $(GLIB_LIBS) $(DBUS_LIBS) gdbus/libgdbus-internal.la tools_isotest_LDADD = lib/libbluetooth-internal.la noinst_PROGRAMS += profiles/iap/iapd profiles_iap_iapd_SOURCES = profiles/iap/main.c profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS) endif if CUPS cupsdir = $(libdir)/cups/backend cups_PROGRAMS = profiles/cups/bluetooth profiles_cups_bluetooth_SOURCES = profiles/cups/main.c \ profiles/cups/cups.h \ profiles/cups/sdp.c \ profiles/cups/spp.c \ profiles/cups/hcrp.c profiles_cups_bluetooth_LDADD = $(GLIB_LIBS) $(DBUS_LIBS) \ lib/libbluetooth-internal.la \ gdbus/libgdbus-internal.la endif test_scripts += test/sap_client.py test/bluezutils.py \ test/dbusdef.py test/monitor-bluetooth test/list-devices \ test/test-discovery test/test-manager test/test-adapter \ test/test-device test/simple-agent \ test/simple-endpoint test/test-sap-server \ test/test-proximity test/test-network \ test/test-thermometer test/test-profile test/test-health \ test/test-health-sink test/service-record.dtd \ test/service-did.xml test/service-spp.xml test/service-opp.xml \ test/service-ftp.xml test/simple-player test/test-nap \ test/test-heartrate test/test-alert test/test-hfp \ test/test-cyclingspeed test/opp-client test/ftp-client \ test/pbap-client test/map-client test/example-advertisement \ test/example-gatt-server test/example-gatt-client \ test/test-gatt-profile test/test-mesh test/agent.py