1################################################################################ 2# 3# bluez5_utils 4# 5################################################################################ 6 7# Keep the version and patches in sync with bluez5_utils-headers 8BLUEZ5_UTILS_VERSION = 5.62 9BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz 10BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth 11BLUEZ5_UTILS_INSTALL_STAGING = YES 12BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ 13BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB 14BLUEZ5_UTILS_CPE_ID_VENDOR = bluez 15BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez 16 17BLUEZ5_UTILS_DEPENDENCIES = \ 18 $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ 19 dbus \ 20 libglib2 21 22BLUEZ5_UTILS_CONF_OPTS = \ 23 --enable-library \ 24 --disable-cups \ 25 --disable-manpages \ 26 --with-dbusconfdir=/etc 27 28ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) 29BLUEZ5_UTILS_CONF_OPTS += --enable-obex 30BLUEZ5_UTILS_DEPENDENCIES += libical 31define BLUEZ5_UTILS_POST_INSTALL_OBEXD 32 $(INSTALL) -D -m 0755 $($(PKG)_BUILDDIR)tools/obexctl $(TARGET_DIR)/usr/bin 33 $(INSTALL) -D -m 0755 $($(PKG)_BUILDDIR)obexd/src/obexd $(TARGET_DIR)/usr/bin 34endef 35BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_POST_INSTALL_OBEXD 36else 37BLUEZ5_UTILS_CONF_OPTS += --disable-obex 38endif 39 40ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y) 41BLUEZ5_UTILS_CONF_OPTS += --enable-client 42BLUEZ5_UTILS_DEPENDENCIES += readline 43else 44BLUEZ5_UTILS_CONF_OPTS += --disable-client 45endif 46 47ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y) 48BLUEZ5_UTILS_CONF_OPTS += --enable-monitor 49else 50BLUEZ5_UTILS_CONF_OPTS += --disable-monitor 51endif 52 53ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y) 54BLUEZ5_UTILS_CONF_OPTS += --enable-tools 55else 56BLUEZ5_UTILS_CONF_OPTS += --disable-tools 57endif 58 59# experimental plugins 60ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) 61BLUEZ5_UTILS_CONF_OPTS += --enable-experimental 62else 63BLUEZ5_UTILS_CONF_OPTS += --disable-experimental 64endif 65 66# enable audio plugins (a2dp and avrcp) 67ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y) 68BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp 69else 70BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp 71endif 72 73# enable health plugin 74ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) 75BLUEZ5_UTILS_CONF_OPTS += --enable-health 76else 77BLUEZ5_UTILS_CONF_OPTS += --disable-health 78endif 79 80# enable hid plugin 81ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y) 82BLUEZ5_UTILS_CONF_OPTS += --enable-hid 83else 84BLUEZ5_UTILS_CONF_OPTS += --disable-hid 85endif 86 87# enable hog plugin 88ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y) 89BLUEZ5_UTILS_CONF_OPTS += --enable-hog 90else 91BLUEZ5_UTILS_CONF_OPTS += --disable-hog 92endif 93 94# enable mesh profile 95ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) 96BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh 97BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline 98else 99BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh 100endif 101 102# enable midi profile 103ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y) 104BLUEZ5_UTILS_CONF_OPTS += --enable-midi 105BLUEZ5_UTILS_DEPENDENCIES += alsa-lib 106else 107BLUEZ5_UTILS_CONF_OPTS += --disable-midi 108endif 109 110# enable network plugin 111ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y) 112BLUEZ5_UTILS_CONF_OPTS += --enable-network 113else 114BLUEZ5_UTILS_CONF_OPTS += --disable-network 115endif 116 117# enable nfc plugin 118ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) 119BLUEZ5_UTILS_CONF_OPTS += --enable-nfc 120else 121BLUEZ5_UTILS_CONF_OPTS += --disable-nfc 122endif 123 124# enable sap plugin 125ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y) 126BLUEZ5_UTILS_CONF_OPTS += --enable-sap 127else 128BLUEZ5_UTILS_CONF_OPTS += --disable-sap 129endif 130 131# enable sixaxis plugin 132ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y) 133BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis 134else 135BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis 136endif 137 138ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) 139# install gatttool (For some reason upstream choose not to do it by default) 140# gattool depends on the client for readline 141ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y) 142define BLUEZ5_UTILS_INSTALL_GATTTOOL 143 $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool 144endef 145BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL 146endif 147 148# hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but 149# Broadcom firmware blobs are usually located in `/lib/firmware`. 150BLUEZ5_UTILS_CONF_ENV += \ 151 CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"' 152BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated 153else 154BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated 155endif 156 157# enable test 158ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y) 159BLUEZ5_UTILS_CONF_OPTS += --enable-test 160else 161BLUEZ5_UTILS_CONF_OPTS += --disable-test 162endif 163 164# enable hid2hci tool 165ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI),y) 166BLUEZ5_UTILS_CONF_OPTS += --enable-hid2hci 167else 168BLUEZ5_UTILS_CONF_OPTS += --disable-hid2hci 169endif 170 171# use udev if available 172ifeq ($(BR2_PACKAGE_HAS_UDEV),y) 173BLUEZ5_UTILS_CONF_OPTS += --enable-udev 174BLUEZ5_UTILS_DEPENDENCIES += udev 175else 176BLUEZ5_UTILS_CONF_OPTS += --disable-udev 177endif 178 179# integrate with systemd if available 180ifeq ($(BR2_PACKAGE_SYSTEMD),y) 181BLUEZ5_UTILS_CONF_OPTS += --enable-systemd 182BLUEZ5_UTILS_DEPENDENCIES += systemd 183else 184BLUEZ5_UTILS_CONF_OPTS += --disable-systemd 185endif 186 187# define BLUEZ5_UTILS_INSTALL_INIT_SYSV 188# $(INSTALL) -m 0755 -D package/bluez5_utils/S40bluetooth \ 189# $(TARGET_DIR)/etc/init.d/S40bluetooth 190# endef 191 192$(eval $(autotools-package)) 193