Android.mk 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # Android makefile for BT kernel modules
  2. LOCAL_PATH := $(call my-dir)
  3. # Build/Package only in case of supported target
  4. ifeq ($(call is-board-platform-in-list,taro kalama), true)
  5. BT_SELECT := CONFIG_MSM_BT_POWER=m
  6. #ifdef CONFIG_SLIMBUS
  7. BT_SELECT += CONFIG_BTFM_SLIM=m
  8. #endif
  9. BT_SELECT += CONFIG_I2C_RTC6226_QCA=m
  10. LOCAL_PATH := $(call my-dir)
  11. # This makefile is only for DLKM
  12. ifneq ($(findstring vendor,$(LOCAL_PATH)),)
  13. ifneq ($(findstring opensource,$(LOCAL_PATH)),)
  14. BT_BLD_DIR := $(abspath .)/vendor/qcom/opensource/bt-kernel
  15. endif # opensource
  16. DLKM_DIR := $(TOP)/device/qcom/common/dlkm
  17. ###########################################################
  18. # This is set once per LOCAL_PATH, not per (kernel) module
  19. KBUILD_OPTIONS := BT_KERNEL_ROOT=$(BT_BLD_DIR)
  20. KBUILD_OPTIONS += $(foreach bt_select, \
  21. $(BT_SELECT), \
  22. $(bt_select))
  23. BT_SRC_FILES := \
  24. $(wildcard $(LOCAL_PATH)/*) \
  25. $(wildcard $(LOCAL_PATH)/*/*) \
  26. # Module.symvers needs to be generated as a intermediate module so that
  27. # other modules which depend on BT platform modules can set local
  28. # dependencies to it.
  29. ########################### Module.symvers ############################
  30. include $(CLEAR_VARS)
  31. LOCAL_SRC_FILES := $(BT_SRC_FILES)
  32. LOCAL_MODULE := bt-kernel-module-symvers
  33. LOCAL_MODULE_STEM := Module.symvers
  34. LOCAL_MODULE_KBUILD_NAME := Module.symvers
  35. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  36. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  37. # Below are for Android build system to recognize each module name, so
  38. # they can be installed properly. Since Kbuild is used to compile these
  39. # modules, invoking any of them will cause other modules to be compiled
  40. # as well if corresponding flags are added in KBUILD_OPTIONS from upper
  41. # level Makefiles.
  42. ################################ pwr ################################
  43. include $(CLEAR_VARS)
  44. LOCAL_SRC_FILES := $(BT_SRC_FILES)
  45. LOCAL_MODULE := btpower.ko
  46. LOCAL_MODULE_KBUILD_NAME := pwr/btpower.ko
  47. LOCAL_MODULE_TAGS := optional
  48. LOCAL_MODULE_DEBUG_ENABLE := true
  49. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  50. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  51. ################################ slimbus ################################
  52. include $(CLEAR_VARS)
  53. LOCAL_SRC_FILES := $(BT_SRC_FILES)
  54. LOCAL_MODULE := bt_fm_slim.ko
  55. LOCAL_MODULE_KBUILD_NAME := slimbus/bt_fm_slim.ko
  56. LOCAL_MODULE_TAGS := optional
  57. LOCAL_MODULE_DEBUG_ENABLE := true
  58. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  59. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  60. ################################ rtc6226 ################################
  61. include $(CLEAR_VARS)
  62. LOCAL_SRC_FILES := $(BT_SRC_FILES)
  63. LOCAL_MODULE := radio-i2c-rtc6226-qca.ko
  64. LOCAL_MODULE_KBUILD_NAME := rtc6226/radio-i2c-rtc6226-qca.ko
  65. LOCAL_MODULE_TAGS := optional
  66. LOCAL_MODULE_DEBUG_ENABLE := true
  67. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  68. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  69. ###########################################################
  70. endif # DLKM check
  71. endif # supported target check