component.mk 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. #
  2. # Component Makefile
  3. #
  4. ifdef CONFIG_BT_ENABLED
  5. COMPONENT_SRCDIRS := controller
  6. COMPONENT_ADD_INCLUDEDIRS := include
  7. LIBS := btdm_app
  8. COMPONENT_ADD_LDFLAGS := -lbt -L $(COMPONENT_PATH)/controller/lib \
  9. $(addprefix -l,$(LIBS))
  10. # re-link program if BT binary libs change
  11. COMPONENT_ADD_LINKER_DEPS := $(patsubst %,$(COMPONENT_PATH)/controller/lib/lib%.a,$(LIBS))
  12. COMPONENT_SUBMODULES += controller/lib
  13. ifeq ($(GCC_NOT_5_2_0), 1)
  14. # TODO: annotate fallthroughs in Bluedroid code with comments
  15. CFLAGS += -Wno-implicit-fallthrough
  16. endif
  17. ifdef CONFIG_BT_BLUEDROID_ENABLED
  18. COMPONENT_PRIV_INCLUDEDIRS += host/bluedroid/bta/include \
  19. host/bluedroid/bta/ar/include \
  20. host/bluedroid/bta/av/include \
  21. host/bluedroid/bta/hf_client/include \
  22. host/bluedroid/bta/dm/include \
  23. host/bluedroid/bta/gatt/include \
  24. host/bluedroid/bta/hh/include \
  25. host/bluedroid/bta/jv/include \
  26. host/bluedroid/bta/sdp/include \
  27. host/bluedroid/bta/sys/include \
  28. host/bluedroid/device/include \
  29. host/bluedroid/gki/include \
  30. host/bluedroid/hci/include \
  31. host/bluedroid/utils/include \
  32. host/bluedroid/external/sbc/decoder/include \
  33. host/bluedroid/external/sbc/encoder/include \
  34. host/bluedroid/external/sbc/plc/include \
  35. host/bluedroid/btc/profile/esp/blufi/include \
  36. host/bluedroid/btc/profile/esp/include \
  37. host/bluedroid/btc/profile/std/gatt/include \
  38. host/bluedroid/btc/profile/std/gap/include \
  39. host/bluedroid/btc/profile/std/a2dp/include \
  40. host/bluedroid/btc/profile/std/include \
  41. host/bluedroid/btc/include \
  42. host/bluedroid/btif/include \
  43. host/bluedroid/stack/btm/include \
  44. host/bluedroid/stack/btu/include \
  45. host/bluedroid/stack/gap/include \
  46. host/bluedroid/stack/gatt/include \
  47. host/bluedroid/stack/hcic/include \
  48. host/bluedroid/stack/l2cap/include \
  49. host/bluedroid/stack/sdp/include \
  50. host/bluedroid/stack/smp/include \
  51. host/bluedroid/stack/avct/include \
  52. host/bluedroid/stack/avrc/include \
  53. host/bluedroid/stack/avdt/include \
  54. host/bluedroid/stack/a2dp/include \
  55. host/bluedroid/stack/rfcomm/include \
  56. host/bluedroid/stack/include \
  57. host/bluedroid/utils/include \
  58. host/bluedroid/common/include
  59. COMPONENT_ADD_INCLUDEDIRS += host/bluedroid/api/include/api \
  60. common/osi/include
  61. COMPONENT_SRCDIRS += host/bluedroid/bta/dm \
  62. host/bluedroid/bta/gatt \
  63. host/bluedroid/bta/hh \
  64. host/bluedroid/bta/sdp \
  65. host/bluedroid/bta/av \
  66. host/bluedroid/bta/ar \
  67. host/bluedroid/bta/sys \
  68. host/bluedroid/bta/jv \
  69. host/bluedroid/bta/hf_client \
  70. host/bluedroid/bta \
  71. host/bluedroid/btif \
  72. host/bluedroid/device \
  73. host/bluedroid/gki \
  74. host/bluedroid/hci \
  75. host/bluedroid/main \
  76. host/bluedroid/external/sbc/decoder/srce \
  77. host/bluedroid/external/sbc/encoder/srce \
  78. host/bluedroid/external/sbc/plc \
  79. host/bluedroid/btc/core \
  80. host/bluedroid/btc/profile/esp/blufi \
  81. host/bluedroid/btc/profile/std/gap \
  82. host/bluedroid/btc/profile/std/gatt \
  83. host/bluedroid/btc/profile/std/a2dp \
  84. host/bluedroid/btc/profile/std/avrc \
  85. host/bluedroid/btc/profile/std/spp \
  86. host/bluedroid/btc/profile/std/hf_client \
  87. host/bluedroid/btc/profile \
  88. host/bluedroid/stack/btm \
  89. host/bluedroid/stack/btu \
  90. host/bluedroid/stack/gap \
  91. host/bluedroid/stack/gatt \
  92. host/bluedroid/stack/hcic \
  93. host/bluedroid/stack/include \
  94. host/bluedroid/stack/l2cap \
  95. host/bluedroid/stack/sdp \
  96. host/bluedroid/stack/smp \
  97. host/bluedroid/stack/avct \
  98. host/bluedroid/stack/avrc \
  99. host/bluedroid/stack/avdt \
  100. host/bluedroid/stack/a2dp \
  101. host/bluedroid/stack/rfcomm \
  102. host/bluedroid/stack \
  103. host/bluedroid/utils \
  104. host/bluedroid/api \
  105. host/bluedroid
  106. ifeq ($(GCC_NOT_5_2_0), 1)
  107. host/bluedroid/bta/sdp/bta_sdp_act.o: CFLAGS += -Wno-unused-const-variable
  108. host/bluedroid/btc/core/btc_config.o: CFLAGS += -Wno-unused-const-variable
  109. host/bluedroid/stack/btm/btm_sec.o: CFLAGS += -Wno-unused-const-variable
  110. host/bluedroid/stack/smp/smp_keys.o: CFLAGS += -Wno-unused-const-variable
  111. endif
  112. COMPONENT_PRIV_INCLUDEDIRS += common/btc/include \
  113. common/include
  114. COMPONENT_SRCDIRS += common/osi \
  115. common/btc/core
  116. ifdef CONFIG_BLE_MESH
  117. COMPONENT_SRCDIRS += esp_ble_mesh/mesh_core/bluedroid_host
  118. endif
  119. endif
  120. ifdef CONFIG_BLE_MESH
  121. COMPONENT_ADD_INCLUDEDIRS += esp_ble_mesh/mesh_common/include \
  122. esp_ble_mesh/mesh_common/tinycrypt/include \
  123. esp_ble_mesh/mesh_core \
  124. esp_ble_mesh/mesh_core/include \
  125. esp_ble_mesh/mesh_core/storage \
  126. esp_ble_mesh/btc/include \
  127. esp_ble_mesh/mesh_models/common/include \
  128. esp_ble_mesh/mesh_models/client/include \
  129. esp_ble_mesh/mesh_models/server/include \
  130. esp_ble_mesh/api/core/include \
  131. esp_ble_mesh/api/models/include \
  132. esp_ble_mesh/api
  133. COMPONENT_SRCDIRS += esp_ble_mesh/mesh_common \
  134. esp_ble_mesh/mesh_common/tinycrypt/src \
  135. esp_ble_mesh/mesh_core \
  136. esp_ble_mesh/mesh_core/storage \
  137. esp_ble_mesh/btc \
  138. esp_ble_mesh/mesh_models/common \
  139. esp_ble_mesh/mesh_models/client \
  140. esp_ble_mesh/mesh_models/server \
  141. esp_ble_mesh/api/core \
  142. esp_ble_mesh/api/models
  143. endif
  144. ifdef CONFIG_BT_NIMBLE_ENABLED
  145. COMPONENT_ADD_INCLUDEDIRS += host/nimble/nimble/nimble/include \
  146. host/nimble/nimble/nimble/host/include \
  147. host/nimble/nimble/porting/nimble/include \
  148. host/nimble/nimble/porting/npl/freertos/include \
  149. host/nimble/nimble/nimble/host/services/ans/include \
  150. host/nimble/nimble/nimble/host/services/bas/include \
  151. host/nimble/nimble/nimble/host/services/gap/include \
  152. host/nimble/nimble/nimble/host/services/gatt/include \
  153. host/nimble/nimble/nimble/host/services/ias/include \
  154. host/nimble/nimble/nimble/host/services/lls/include \
  155. host/nimble/nimble/nimble/host/services/tps/include \
  156. host/nimble/nimble/nimble/host/util/include \
  157. host/nimble/nimble/nimble/host/store/ram/include \
  158. host/nimble/nimble/nimble/host/store/config/include \
  159. host/nimble/esp-hci/include \
  160. host/nimble/port/include
  161. ifndef CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS
  162. COMPONENT_ADD_INCLUDEDIRS += host/nimble/nimble/ext/tinycrypt/include
  163. endif
  164. COMPONENT_SRCDIRS += host/nimble/nimble/nimble/host/src \
  165. host/nimble/nimble/porting/nimble/src \
  166. host/nimble/nimble/porting/npl/freertos/src \
  167. host/nimble/nimble/nimble/host/services/ans/src \
  168. host/nimble/nimble/nimble/host/services/bas/src \
  169. host/nimble/nimble/nimble/host/services/gap/src \
  170. host/nimble/nimble/nimble/host/services/gatt/src \
  171. host/nimble/nimble/nimble/host/services/ias/src \
  172. host/nimble/nimble/nimble/host/services/lls/src \
  173. host/nimble/nimble/nimble/host/services/tps/src \
  174. host/nimble/nimble/nimble/host/util/src \
  175. host/nimble/nimble/nimble/host/store/ram/src \
  176. host/nimble/nimble/nimble/host/store/config/src \
  177. host/nimble/esp-hci/src \
  178. host/nimble/port/src
  179. ifndef CONFIG_BT_NIMBLE_CRYPTO_STACK_MBEDTLS
  180. COMPONENT_SRCDIRS += host/nimble/nimble/ext/tinycrypt/src
  181. endif
  182. COMPONENT_OBJEXCLUDE += host/nimble/nimble/nimble/host/store/config/src/ble_store_config_conf.o
  183. ifdef CONFIG_BLE_MESH
  184. COMPONENT_PRIV_INCLUDEDIRS += common/btc/include \
  185. common/include
  186. COMPONENT_SRCDIRS += common/osi \
  187. common/btc/core \
  188. esp_ble_mesh/mesh_core/nimble_host
  189. COMPONENT_ADD_INCLUDEDIRS += common/osi/include
  190. endif
  191. ifdef CONFIG_BT_NIMBLE_MESH
  192. COMPONENT_ADD_INCLUDEDIRS += host/nimble/nimble/nimble/host/mesh/include
  193. COMPONENT_SRCDIRS += host/nimble/nimble/nimble/host/mesh/src
  194. endif
  195. endif
  196. endif