bluez5_utils.mk 3.9 KB

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