bluez5_utils.mk 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. ################################################################################
  2. #
  3. # bluez5_utils
  4. #
  5. ################################################################################
  6. # Keep the version and patches in sync with bluez5_utils-headers
  7. BLUEZ5_UTILS_VERSION = 5.55
  8. BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz
  9. BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth
  10. BLUEZ5_UTILS_INSTALL_STAGING = YES
  11. BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
  12. BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
  13. BLUEZ5_UTILS_DEPENDENCIES = \
  14. $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
  15. dbus \
  16. libglib2
  17. BLUEZ5_UTILS_CONF_OPTS = \
  18. --enable-tools \
  19. --enable-library \
  20. --disable-cups \
  21. --with-dbusconfdir=/etc
  22. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y)
  23. BLUEZ5_UTILS_CONF_OPTS += --enable-obex
  24. BLUEZ5_UTILS_DEPENDENCIES += libical
  25. else
  26. BLUEZ5_UTILS_CONF_OPTS += --disable-obex
  27. endif
  28. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y)
  29. define BLUEZ5_UTILS_INSTALL_BTD
  30. $(INSTALL) -D -m 0755 $(@D)/src/bluetoothd $(TARGET_DIR)/usr/bin/bluetoothd
  31. endef
  32. BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_BTD
  33. BLUEZ5_UTILS_CONF_OPTS += --enable-client
  34. BLUEZ5_UTILS_DEPENDENCIES += readline
  35. else
  36. BLUEZ5_UTILS_CONF_OPTS += --disable-client
  37. endif
  38. # experimental plugins
  39. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y)
  40. BLUEZ5_UTILS_CONF_OPTS += --enable-experimental
  41. else
  42. BLUEZ5_UTILS_CONF_OPTS += --disable-experimental
  43. endif
  44. # enable health plugin
  45. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y)
  46. BLUEZ5_UTILS_CONF_OPTS += --enable-health
  47. else
  48. BLUEZ5_UTILS_CONF_OPTS += --disable-health
  49. endif
  50. # enable mesh profile
  51. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y)
  52. BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh
  53. BLUEZ5_UTILS_DEPENDENCIES += ell json-c readline
  54. else
  55. BLUEZ5_UTILS_CONF_OPTS += --disable-external-ell --disable-mesh
  56. endif
  57. # enable midi profile
  58. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI),y)
  59. BLUEZ5_UTILS_CONF_OPTS += --enable-midi
  60. BLUEZ5_UTILS_DEPENDENCIES += alsa-lib
  61. else
  62. BLUEZ5_UTILS_CONF_OPTS += --disable-midi
  63. endif
  64. # enable nfc plugin
  65. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y)
  66. BLUEZ5_UTILS_CONF_OPTS += --enable-nfc
  67. else
  68. BLUEZ5_UTILS_CONF_OPTS += --disable-nfc
  69. endif
  70. # enable sap plugin
  71. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP),y)
  72. BLUEZ5_UTILS_CONF_OPTS += --enable-sap
  73. else
  74. BLUEZ5_UTILS_CONF_OPTS += --disable-sap
  75. endif
  76. # enable sixaxis plugin
  77. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS),y)
  78. BLUEZ5_UTILS_CONF_OPTS += --enable-sixaxis
  79. else
  80. BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis
  81. endif
  82. # install gatttool (For some reason upstream choose not to do it by default)
  83. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y)
  84. define BLUEZ5_UTILS_INSTALL_GATTTOOL
  85. $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool
  86. endef
  87. BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL
  88. # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but
  89. # Broadcom firmware blobs are usually located in `/lib/firmware`.
  90. BLUEZ5_UTILS_CONF_ENV += \
  91. CPPFLAGS='$(TARGET_CPPFLAGS) -DFIRMWARE_DIR=\"/lib/firmware\"'
  92. BLUEZ5_UTILS_CONF_OPTS += --enable-deprecated
  93. else
  94. BLUEZ5_UTILS_CONF_OPTS += --disable-deprecated
  95. endif
  96. # enable test
  97. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TEST),y)
  98. BLUEZ5_UTILS_CONF_OPTS += --enable-test
  99. else
  100. BLUEZ5_UTILS_CONF_OPTS += --disable-test
  101. endif
  102. # enable hid2hci tool
  103. ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI),y)
  104. BLUEZ5_UTILS_CONF_OPTS += --enable-hid2hci
  105. else
  106. BLUEZ5_UTILS_CONF_OPTS += --disable-hid2hci
  107. endif
  108. # use udev if available
  109. ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
  110. BLUEZ5_UTILS_CONF_OPTS += --enable-udev
  111. BLUEZ5_UTILS_DEPENDENCIES += udev
  112. else
  113. BLUEZ5_UTILS_CONF_OPTS += --disable-udev
  114. endif
  115. # integrate with systemd if available
  116. ifeq ($(BR2_PACKAGE_SYSTEMD),y)
  117. BLUEZ5_UTILS_CONF_OPTS += --enable-systemd
  118. BLUEZ5_UTILS_DEPENDENCIES += systemd
  119. else
  120. BLUEZ5_UTILS_CONF_OPTS += --disable-systemd
  121. endif
  122. define BLUEZ5_UTILS_INSTALL_INIT_SYSTEMD
  123. mkdir -p $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants
  124. ln -fs ../../../../usr/lib/systemd/system/bluetooth.service \
  125. $(TARGET_DIR)/etc/systemd/system/bluetooth.target.wants/bluetooth.service
  126. ln -fs ../../../usr/lib/systemd/system/bluetooth.service \
  127. $(TARGET_DIR)/etc/systemd/system/dbus-org.bluez.service
  128. endef
  129. $(eval $(autotools-package))