Android.mk 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857
  1. LOCAL_PATH := external/bluetooth
  2. # Retrieve BlueZ version from configure.ac file
  3. BLUEZ_VERSION := `grep "^AC_INIT" $(LOCAL_PATH)/bluez/configure.ac | sed -e "s/.*,.\(.*\))/\1/"`
  4. ANDROID_VERSION := $(shell echo $(PLATFORM_VERSION) | awk -F. '{ printf "0x%02d%02d%02d",$$1,$$2,$$3 }')
  5. ANDROID_GE_5_0_0 := $(shell test `echo $$(($(ANDROID_VERSION)))` -lt `echo $$((0x050000))`; echo $$?)
  6. # Specify pathmap for glib and sbc
  7. pathmap_INCL += glib:external/bluetooth/glib \
  8. sbc:external/bluetooth/sbc \
  9. # Specify common compiler flags
  10. BLUEZ_COMMON_CFLAGS := -DVERSION=\"$(BLUEZ_VERSION)\" \
  11. -DANDROID_VERSION=$(ANDROID_VERSION) \
  12. -DANDROID_STORAGEDIR=\"/data/misc/bluetooth\" \
  13. -DHAVE_LINUX_IF_ALG_H \
  14. -DHAVE_LINUX_TYPES_H \
  15. # Enable warnings enabled in autotools build
  16. BLUEZ_COMMON_CFLAGS += -Wall -Wextra \
  17. -Wdeclaration-after-statement \
  18. -Wmissing-declarations \
  19. -Wredundant-decls \
  20. -Wcast-align \
  21. # Disable warnings enabled by Android but not enabled in autotools build
  22. BLUEZ_COMMON_CFLAGS += -Wno-pointer-arith \
  23. -Wno-missing-field-initializers \
  24. -Wno-unused-parameter \
  25. #
  26. # Android BlueZ daemon (bluetoothd)
  27. #
  28. include $(CLEAR_VARS)
  29. LOCAL_SRC_FILES := \
  30. bluez/android/main.c \
  31. bluez/android/bluetooth.c \
  32. bluez/profiles/scanparam/scpp.c \
  33. bluez/profiles/deviceinfo/dis.c \
  34. bluez/profiles/battery/bas.c \
  35. bluez/profiles/input/hog-lib.c \
  36. bluez/android/hidhost.c \
  37. bluez/android/socket.c \
  38. bluez/android/ipc.c \
  39. bluez/android/avdtp.c \
  40. bluez/android/a2dp.c \
  41. bluez/android/a2dp-sink.c \
  42. bluez/android/avctp.c \
  43. bluez/android/avrcp.c \
  44. bluez/android/avrcp-lib.c \
  45. bluez/android/pan.c \
  46. bluez/android/handsfree.c \
  47. bluez/android/handsfree-client.c \
  48. bluez/android/gatt.c \
  49. bluez/android/health.c \
  50. bluez/android/sco.c \
  51. bluez/profiles/health/mcap.c \
  52. bluez/android/map-client.c \
  53. bluez/android/log.c \
  54. bluez/src/shared/mgmt.c \
  55. bluez/src/shared/util.c \
  56. bluez/src/shared/queue.c \
  57. bluez/src/shared/ringbuf.c \
  58. bluez/src/shared/hfp.c \
  59. bluez/src/shared/gatt-db.c \
  60. bluez/src/shared/io-glib.c \
  61. bluez/src/shared/timeout-glib.c \
  62. bluez/src/shared/crypto.c \
  63. bluez/src/shared/uhid.c \
  64. bluez/src/shared/att.c \
  65. bluez/src/shared/ad.c \
  66. bluez/src/sdpd-database.c \
  67. bluez/src/sdpd-service.c \
  68. bluez/src/sdpd-request.c \
  69. bluez/src/sdpd-server.c \
  70. bluez/src/uuid-helper.c \
  71. bluez/src/eir.c \
  72. bluez/lib/sdp.c \
  73. bluez/lib/bluetooth.c \
  74. bluez/lib/hci.c \
  75. bluez/lib/uuid.c \
  76. bluez/btio/btio.c \
  77. bluez/src/sdp-client.c \
  78. bluez/profiles/network/bnep.c \
  79. bluez/attrib/gattrib.c \
  80. bluez/attrib/gatt.c \
  81. bluez/attrib/att.c
  82. LOCAL_C_INCLUDES := \
  83. $(call include-path-for, glib) \
  84. $(call include-path-for, glib)/glib \
  85. LOCAL_C_INCLUDES += \
  86. $(LOCAL_PATH)/bluez \
  87. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  88. LOCAL_SHARED_LIBRARIES := \
  89. libglib \
  90. LOCAL_STATIC_LIBRARIES := \
  91. bluetooth-headers \
  92. LOCAL_MODULE_TAGS := optional
  93. # for userdebug/eng this module is bluetoothd-main since bluetoothd is used as
  94. # wrapper to launch bluetooth with Valgrind
  95. ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
  96. LOCAL_MODULE := bluetoothd-main
  97. LOCAL_STRIP_MODULE := false
  98. else
  99. LOCAL_MODULE := bluetoothd
  100. endif
  101. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  102. include $(BUILD_EXECUTABLE)
  103. #
  104. # bluetooth.default.so HAL
  105. #
  106. include $(CLEAR_VARS)
  107. LOCAL_SRC_FILES := \
  108. bluez/android/hal-ipc.c \
  109. bluez/android/hal-bluetooth.c \
  110. bluez/android/hal-socket.c \
  111. bluez/android/hal-hidhost.c \
  112. bluez/android/hal-pan.c \
  113. bluez/android/hal-a2dp.c \
  114. bluez/android/hal-avrcp.c \
  115. bluez/android/hal-handsfree.c \
  116. bluez/android/hal-gatt.c \
  117. bluez/android/hal-utils.c \
  118. bluez/android/hal-health.c \
  119. ifeq ($(ANDROID_GE_5_0_0), 1)
  120. LOCAL_SRC_FILES += \
  121. bluez/android/hal-handsfree-client.c \
  122. bluez/android/hal-map-client.c \
  123. bluez/android/hal-a2dp-sink.c \
  124. bluez/android/hal-avrcp-ctrl.c
  125. endif
  126. LOCAL_C_INCLUDES += \
  127. $(call include-path-for, system-core) \
  128. $(call include-path-for, libhardware) \
  129. LOCAL_SHARED_LIBRARIES := \
  130. libcutils \
  131. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  132. LOCAL_MODULE := bluetooth.default
  133. LOCAL_MODULE_TAGS := optional
  134. LOCAL_MODULE_CLASS := SHARED_LIBRARIES
  135. LOCAL_REQUIRED_MODULES := bluetoothd bluetoothd-snoop init.bluetooth.rc
  136. ifeq ($(ANDROID_GE_5_0_0), 1)
  137. LOCAL_MODULE_RELATIVE_PATH := hw
  138. else
  139. LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
  140. endif
  141. include $(BUILD_SHARED_LIBRARY)
  142. #
  143. # haltest
  144. #
  145. include $(CLEAR_VARS)
  146. LOCAL_SRC_FILES := \
  147. bluez/android/client/haltest.c \
  148. bluez/android/client/pollhandler.c \
  149. bluez/android/client/terminal.c \
  150. bluez/android/client/history.c \
  151. bluez/android/client/tabcompletion.c \
  152. bluez/android/client/if-audio.c \
  153. bluez/android/client/if-sco.c \
  154. bluez/android/client/if-av.c \
  155. bluez/android/client/if-rc.c \
  156. bluez/android/client/if-bt.c \
  157. bluez/android/client/if-hf.c \
  158. bluez/android/client/if-hh.c \
  159. bluez/android/client/if-pan.c \
  160. bluez/android/client/if-hl.c \
  161. bluez/android/client/if-sock.c \
  162. bluez/android/client/if-gatt.c \
  163. bluez/android/hal-utils.c \
  164. ifeq ($(ANDROID_GE_5_0_0), 1)
  165. LOCAL_SRC_FILES += \
  166. bluez/android/client/if-hf-client.c \
  167. bluez/android/client/if-mce.c \
  168. bluez/android/client/if-av-sink.c \
  169. bluez/android/client/if-rc-ctrl.c
  170. endif
  171. LOCAL_C_INCLUDES += \
  172. $(call include-path-for, system-core) \
  173. $(call include-path-for, libhardware) \
  174. LOCAL_C_INCLUDES += \
  175. $(LOCAL_PATH)/bluez/android \
  176. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS) -Wno-declaration-after-statement
  177. LOCAL_SHARED_LIBRARIES := \
  178. libhardware \
  179. libcutils \
  180. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  181. LOCAL_MODULE_TAGS := debug
  182. LOCAL_MODULE := haltest
  183. include $(BUILD_EXECUTABLE)
  184. #
  185. # mcaptest
  186. #
  187. include $(CLEAR_VARS)
  188. LOCAL_SRC_FILES := \
  189. bluez/src/shared/log.c \
  190. bluez/src/log.c \
  191. bluez/btio/btio.c \
  192. bluez/lib/bluetooth.c \
  193. bluez/lib/hci.c \
  194. bluez/profiles/health/mcap.c \
  195. bluez/tools/mcaptest.c \
  196. LOCAL_C_INCLUDES := \
  197. $(call include-path-for, glib) \
  198. $(call include-path-for, glib)/glib \
  199. LOCAL_C_INCLUDES += \
  200. $(LOCAL_PATH)/bluez \
  201. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  202. LOCAL_SHARED_LIBRARIES := \
  203. libglib \
  204. LOCAL_STATIC_LIBRARIES := \
  205. bluetooth-headers \
  206. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  207. LOCAL_MODULE_TAGS := debug
  208. LOCAL_MODULE := mcaptest
  209. include $(BUILD_EXECUTABLE)
  210. #
  211. # bneptest
  212. #
  213. include $(CLEAR_VARS)
  214. LOCAL_SRC_FILES := \
  215. bluez/src/log.c \
  216. bluez/btio/btio.c \
  217. bluez/lib/bluetooth.c \
  218. bluez/lib/hci.c \
  219. bluez/profiles/network/bnep.c \
  220. bluez/tools/bneptest.c \
  221. LOCAL_C_INCLUDES := \
  222. $(call include-path-for, glib) \
  223. $(call include-path-for, glib)/glib \
  224. LOCAL_C_INCLUDES += \
  225. $(LOCAL_PATH)/bluez \
  226. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  227. LOCAL_SHARED_LIBRARIES := \
  228. libglib \
  229. LOCAL_STATIC_LIBRARIES := \
  230. bluetooth-headers \
  231. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  232. LOCAL_MODULE_TAGS := debug
  233. LOCAL_MODULE := bneptest
  234. include $(BUILD_EXECUTABLE)
  235. #
  236. # avdtptest
  237. #
  238. include $(CLEAR_VARS)
  239. LOCAL_SRC_FILES := \
  240. bluez/android/avdtptest.c \
  241. bluez/android/avdtp.c \
  242. bluez/src/log.c \
  243. bluez/btio/btio.c \
  244. bluez/lib/bluetooth.c \
  245. bluez/lib/hci.c \
  246. bluez/src/shared/util.c \
  247. bluez/src/shared/queue.c \
  248. LOCAL_C_INCLUDES += \
  249. $(LOCAL_PATH)/bluez \
  250. $(call include-path-for, glib) \
  251. $(call include-path-for, glib)/glib \
  252. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  253. LOCAL_SHARED_LIBRARIES := \
  254. libglib \
  255. LOCAL_STATIC_LIBRARIES := \
  256. bluetooth-headers \
  257. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  258. LOCAL_MODULE_TAGS := debug
  259. LOCAL_MODULE := avdtptest
  260. include $(BUILD_EXECUTABLE)
  261. #
  262. # btmon
  263. #
  264. include $(CLEAR_VARS)
  265. LOCAL_SRC_FILES := \
  266. bluez/monitor/main.c \
  267. bluez/monitor/display.c \
  268. bluez/monitor/hcidump.c \
  269. bluez/monitor/control.c \
  270. bluez/monitor/packet.c \
  271. bluez/monitor/l2cap.c \
  272. bluez/monitor/avctp.c \
  273. bluez/monitor/avdtp.c \
  274. bluez/monitor/a2dp.c \
  275. bluez/monitor/rfcomm.c \
  276. bluez/monitor/bnep.c \
  277. bluez/monitor/uuid.c \
  278. bluez/monitor/sdp.c \
  279. bluez/monitor/vendor.c \
  280. bluez/monitor/lmp.c \
  281. bluez/monitor/crc.c \
  282. bluez/monitor/ll.c \
  283. bluez/monitor/hwdb.c \
  284. bluez/monitor/keys.c \
  285. bluez/monitor/ellisys.c \
  286. bluez/monitor/analyze.c \
  287. bluez/monitor/intel.c \
  288. bluez/monitor/broadcom.c \
  289. bluez/src/shared/util.c \
  290. bluez/src/shared/queue.c \
  291. bluez/src/shared/crypto.c \
  292. bluez/src/shared/btsnoop.c \
  293. bluez/src/shared/mainloop.c \
  294. bluez/lib/hci.c \
  295. bluez/lib/bluetooth.c \
  296. LOCAL_C_INCLUDES := \
  297. $(LOCAL_PATH)/bluez \
  298. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  299. LOCAL_STATIC_LIBRARIES := \
  300. bluetooth-headers \
  301. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  302. LOCAL_MODULE_TAGS := debug
  303. LOCAL_MODULE := btmon
  304. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  305. include $(BUILD_EXECUTABLE)
  306. #
  307. # btproxy
  308. #
  309. include $(CLEAR_VARS)
  310. LOCAL_SRC_FILES := \
  311. bluez/tools/btproxy.c \
  312. bluez/src/shared/mainloop.c \
  313. bluez/src/shared/util.c \
  314. bluez/src/shared/ecc.c \
  315. LOCAL_C_INCLUDES := \
  316. $(LOCAL_PATH)/bluez \
  317. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  318. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  319. LOCAL_MODULE_TAGS := debug
  320. LOCAL_MODULE := btproxy
  321. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  322. include $(BUILD_EXECUTABLE)
  323. #
  324. # A2DP audio
  325. #
  326. include $(CLEAR_VARS)
  327. LOCAL_SRC_FILES := \
  328. bluez/android/hal-audio.c \
  329. bluez/android/hal-audio-sbc.c \
  330. bluez/android/hal-audio-aptx.c \
  331. LOCAL_C_INCLUDES = \
  332. $(LOCAL_PATH)/bluez \
  333. $(call include-path-for, system-core) \
  334. $(call include-path-for, libhardware) \
  335. $(call include-path-for, sbc) \
  336. LOCAL_SHARED_LIBRARIES := \
  337. libcutils \
  338. libsbc \
  339. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS) -Wno-declaration-after-statement
  340. LOCAL_LDFLAGS := -ldl
  341. LOCAL_MODULE_TAGS := optional
  342. LOCAL_MODULE := audio.a2dp.default
  343. ifeq ($(ANDROID_GE_5_0_0), 1)
  344. LOCAL_MODULE_RELATIVE_PATH := hw
  345. else
  346. LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
  347. endif
  348. include $(BUILD_SHARED_LIBRARY)
  349. #
  350. # SCO audio
  351. #
  352. include $(CLEAR_VARS)
  353. LOCAL_SRC_FILES := bluez/android/hal-sco.c \
  354. bluez/android/hal-utils.c
  355. LOCAL_C_INCLUDES = \
  356. $(call include-path-for, system-core) \
  357. $(call include-path-for, libhardware) \
  358. $(call include-path-for, audio-utils) \
  359. LOCAL_SHARED_LIBRARIES := \
  360. libcutils \
  361. libaudioutils \
  362. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS) -Wno-declaration-after-statement
  363. LOCAL_MODULE_TAGS := optional
  364. LOCAL_MODULE := audio.sco.default
  365. ifeq ($(ANDROID_GE_5_0_0), 1)
  366. LOCAL_MODULE_RELATIVE_PATH := hw
  367. else
  368. LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
  369. endif
  370. include $(BUILD_SHARED_LIBRARY)
  371. #
  372. # l2cap-test
  373. #
  374. include $(CLEAR_VARS)
  375. LOCAL_SRC_FILES := \
  376. bluez/tools/l2test.c \
  377. bluez/lib/bluetooth.c \
  378. bluez/lib/hci.c \
  379. LOCAL_C_INCLUDES := \
  380. $(LOCAL_PATH)/bluez \
  381. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  382. LOCAL_STATIC_LIBRARIES := \
  383. bluetooth-headers \
  384. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  385. LOCAL_MODULE_TAGS := debug
  386. LOCAL_MODULE := l2test
  387. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  388. include $(BUILD_EXECUTABLE)
  389. #
  390. # bluetoothd-snoop
  391. #
  392. include $(CLEAR_VARS)
  393. LOCAL_SRC_FILES := \
  394. bluez/android/bluetoothd-snoop.c \
  395. bluez/src/shared/mainloop.c \
  396. bluez/src/shared/btsnoop.c \
  397. bluez/android/log.c \
  398. LOCAL_C_INCLUDES := \
  399. $(LOCAL_PATH)/bluez \
  400. $(LOCAL_PATH)/bluez/lib \
  401. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  402. LOCAL_MODULE_TAGS := optional
  403. LOCAL_MODULE := bluetoothd-snoop
  404. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  405. include $(BUILD_EXECUTABLE)
  406. #
  407. # init.bluetooth.rc
  408. #
  409. include $(CLEAR_VARS)
  410. LOCAL_MODULE := init.bluetooth.rc
  411. LOCAL_MODULE_CLASS := ETC
  412. LOCAL_SRC_FILES := bluez/android/$(LOCAL_MODULE)
  413. LOCAL_MODULE_TAGS := optional
  414. LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
  415. include $(BUILD_PREBUILT)
  416. #
  417. # btmgmt
  418. #
  419. include $(CLEAR_VARS)
  420. LOCAL_SRC_FILES := \
  421. bluez/tools/btmgmt.c \
  422. bluez/lib/bluetooth.c \
  423. bluez/lib/hci.c \
  424. bluez/lib/sdp.c \
  425. bluez/src/shared/mainloop.c \
  426. bluez/src/shared/io-mainloop.c \
  427. bluez/src/shared/mgmt.c \
  428. bluez/src/shared/queue.c \
  429. bluez/src/shared/util.c \
  430. bluez/src/shared/gap.c \
  431. bluez/src/uuid-helper.c \
  432. bluez/client/display.c \
  433. LOCAL_C_INCLUDES := \
  434. $(LOCAL_PATH)/bluez \
  435. $(LOCAL_PATH)/bluez/android/compat \
  436. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  437. LOCAL_STATIC_LIBRARIES := \
  438. bluetooth-headers \
  439. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  440. LOCAL_MODULE_TAGS := debug
  441. LOCAL_MODULE := btmgmt
  442. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  443. include $(BUILD_EXECUTABLE)
  444. #
  445. # hcitool
  446. #
  447. include $(CLEAR_VARS)
  448. LOCAL_SRC_FILES := \
  449. bluez/tools/hcitool.c \
  450. bluez/src/oui.c \
  451. bluez/lib/bluetooth.c \
  452. bluez/lib/hci.c \
  453. LOCAL_C_INCLUDES := \
  454. $(LOCAL_PATH)/bluez \
  455. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  456. LOCAL_STATIC_LIBRARIES := \
  457. bluetooth-headers \
  458. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  459. LOCAL_MODULE_TAGS := debug
  460. LOCAL_MODULE := hcitool
  461. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  462. include $(BUILD_EXECUTABLE)
  463. #
  464. # hciconfig
  465. #
  466. include $(CLEAR_VARS)
  467. LOCAL_SRC_FILES:= \
  468. bluez/tools/hciconfig.c \
  469. bluez/tools/csr.c \
  470. bluez/lib/bluetooth.c \
  471. bluez/lib/hci.c \
  472. LOCAL_C_INCLUDES := \
  473. $(LOCAL_PATH)/bluez \
  474. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  475. LOCAL_STATIC_LIBRARIES := \
  476. bluetooth-headers \
  477. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  478. LOCAL_MODULE_TAGS := debug
  479. LOCAL_MODULE := hciconfig
  480. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  481. include $(BUILD_EXECUTABLE)
  482. #
  483. # l2ping
  484. #
  485. include $(CLEAR_VARS)
  486. LOCAL_SRC_FILES := \
  487. bluez/tools/l2ping.c \
  488. bluez/lib/bluetooth.c \
  489. bluez/lib/hci.c \
  490. LOCAL_C_INCLUDES := \
  491. $(LOCAL_PATH)/bluez \
  492. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  493. LOCAL_STATIC_LIBRARIES := \
  494. bluetooth-headers \
  495. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  496. LOCAL_MODULE_TAGS := debug
  497. LOCAL_MODULE := l2ping
  498. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  499. include $(BUILD_EXECUTABLE)
  500. #
  501. # avtest
  502. #
  503. include $(CLEAR_VARS)
  504. LOCAL_SRC_FILES := \
  505. bluez/tools/avtest.c \
  506. bluez/lib/bluetooth.c \
  507. bluez/lib/hci.c \
  508. LOCAL_C_INCLUDES := \
  509. $(LOCAL_PATH)/bluez \
  510. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  511. LOCAL_STATIC_LIBRARIES := \
  512. bluetooth-headers \
  513. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  514. LOCAL_MODULE_TAGS := debug
  515. LOCAL_MODULE := avtest
  516. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  517. include $(BUILD_EXECUTABLE)
  518. #
  519. # hciattach
  520. #
  521. include $(CLEAR_VARS)
  522. LOCAL_SRC_FILES := \
  523. bluez/tools/hciattach.c \
  524. bluez/tools/hciattach_st.c \
  525. bluez/tools/hciattach_ti.c \
  526. bluez/tools/hciattach_tialt.c \
  527. bluez/tools/hciattach_ath3k.c \
  528. bluez/tools/hciattach_qualcomm.c \
  529. bluez/tools/hciattach_intel.c \
  530. bluez/tools/hciattach_bcm43xx.c \
  531. bluez/lib/bluetooth.c \
  532. bluez/lib/hci.c \
  533. LOCAL_C_INCLUDES := \
  534. $(LOCAL_PATH)/bluez \
  535. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  536. LOCAL_STATIC_LIBRARIES := \
  537. bluetooth-headers \
  538. LOCAL_MODULE_TAGS := optional
  539. LOCAL_MODULE := hciattach
  540. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  541. include $(BUILD_EXECUTABLE)
  542. #
  543. # libsbc
  544. #
  545. include $(CLEAR_VARS)
  546. LOCAL_SRC_FILES:= \
  547. sbc/sbc/sbc.c \
  548. sbc/sbc/sbc_primitives.c \
  549. sbc/sbc/sbc_primitives_mmx.c \
  550. sbc/sbc/sbc_primitives_neon.c \
  551. sbc/sbc/sbc_primitives_armv6.c \
  552. sbc/sbc/sbc_primitives_iwmmxt.c \
  553. LOCAL_C_INCLUDES:= \
  554. $(LOCAL_PATH)/sbc \
  555. LOCAL_CFLAGS:= \
  556. -Os \
  557. -Wno-sign-compare \
  558. -Wno-missing-field-initializers \
  559. -Wno-unused-parameter \
  560. -Wno-type-limits \
  561. -Wno-empty-body \
  562. LOCAL_MODULE := libsbc
  563. include $(BUILD_SHARED_LIBRARY)
  564. ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT)))
  565. #
  566. # bluetoothd (debug)
  567. # this is just a wrapper used in userdebug/eng to launch bluetoothd-main
  568. # with/without Valgrind
  569. #
  570. include $(CLEAR_VARS)
  571. LOCAL_SRC_FILES := \
  572. bluez/android/bluetoothd-wrapper.c \
  573. bluez/android/hal-utils.c
  574. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  575. LOCAL_SHARED_LIBRARIES := \
  576. libcutils \
  577. LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)
  578. LOCAL_MODULE_TAGS := optional
  579. LOCAL_MODULE := bluetoothd
  580. LOCAL_REQUIRED_MODULES := \
  581. bluetoothd-main \
  582. valgrind \
  583. memcheck-$(TARGET_ARCH)-linux \
  584. vgpreload_core-$(TARGET_ARCH)-linux \
  585. vgpreload_memcheck-$(TARGET_ARCH)-linux \
  586. default.supp
  587. include $(BUILD_EXECUTABLE)
  588. endif
  589. #
  590. # bluetooth-headers
  591. #
  592. include $(CLEAR_VARS)
  593. LOCAL_MODULE := bluetooth-headers
  594. LOCAL_NODULE_TAGS := optional
  595. LOCAL_MODULE_CLASS := STATIC_LIBRARIES
  596. include_path := $(local-intermediates-dir)/include
  597. include_files := $(wildcard $(LOCAL_PATH)/bluez/lib/*.h)
  598. $(shell mkdir -p $(include_path)/bluetooth)
  599. $(foreach file,$(include_files),$(shell cp -u $(file) $(include_path)/bluetooth))
  600. LOCAL_EXPORT_C_INCLUDE_DIRS := $(include_path)
  601. include $(BUILD_STATIC_LIBRARY)
  602. #
  603. # avtest
  604. #
  605. include $(CLEAR_VARS)
  606. LOCAL_SRC_FILES := \
  607. bluez/tools/avinfo.c \
  608. bluez/lib/bluetooth.c \
  609. bluez/lib/hci.c \
  610. LOCAL_C_INCLUDES := \
  611. $(LOCAL_PATH)/bluez \
  612. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  613. LOCAL_STATIC_LIBRARIES := \
  614. bluetooth-headers \
  615. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  616. LOCAL_MODULE_TAGS := debug
  617. LOCAL_MODULE := avinfo
  618. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  619. include $(BUILD_EXECUTABLE)
  620. #
  621. # rctest
  622. #
  623. include $(CLEAR_VARS)
  624. LOCAL_SRC_FILES := \
  625. bluez/tools/rctest.c \
  626. bluez/lib/bluetooth.c \
  627. bluez/lib/hci.c \
  628. bluez/lib/sdp.c \
  629. LOCAL_C_INCLUDES := \
  630. $(LOCAL_PATH)/bluez \
  631. LOCAL_CFLAGS := $(BLUEZ_COMMON_CFLAGS)
  632. LOCAL_STATIC_LIBRARIES := \
  633. bluetooth-headers \
  634. LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
  635. LOCAL_MODULE_TAGS := debug
  636. LOCAL_MODULE := rctest
  637. LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/bluez/configure.ac
  638. include $(BUILD_EXECUTABLE)