xref: /OK3568_Linux_fs/buildroot/package/bluez5_utils/bluez5_utils.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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