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