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