Android.mk 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. # Android Makefile for WLAN platform modules
  2. # LOCAL_PATH is a relative path to root build directory.
  3. LOCAL_PATH := $(call my-dir)
  4. DLKM_DIR := $(TOP)/device/qcom/common/dlkm
  5. # WLAN_PLATFORM_ROOT needs to be a absolute since it will be used
  6. # for header files. $(TOP) cannot be used here since it will be
  7. # resolved as "." which won't work for Kbuild.
  8. KBUILD_OPTIONS := WLAN_PLATFORM_ROOT=$(abspath $(LOCAL_PATH))
  9. # WLAN_PLATFORM_KBUILD_OPTIONS should be defined from upper level
  10. # Product or Board related Makefiles like wlan.mk.
  11. KBUILD_OPTIONS += $(foreach wlan_platform_kbuild_option, \
  12. $(WLAN_PLATFORM_KBUILD_OPTIONS), \
  13. $(wlan_platform_kbuild_option))
  14. # Sourcing all files is for better incremental compilation.
  15. CNSS_SRC_FILES := \
  16. $(wildcard $(LOCAL_PATH)/*) \
  17. $(wildcard $(LOCAL_PATH)/*/*) \
  18. # Module.symvers needs to be generated as a intermediate module so that
  19. # other modules which depend on WLAN platform modules can set local
  20. # dependencies to it.
  21. ########################### Module.symvers ############################
  22. include $(CLEAR_VARS)
  23. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  24. LOCAL_MODULE := wlan-platform-module-symvers
  25. LOCAL_MODULE_STEM := Module.symvers
  26. LOCAL_MODULE_KBUILD_NAME := Module.symvers
  27. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  28. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  29. # Below are for Android build system to recognize each module name, so
  30. # they can be installed properly. Since Kbuild is used to compile these
  31. # modules, invoking any of them will cause other modules to be compiled
  32. # as well if corresponding flags are added in KBUILD_OPTIONS from upper
  33. # level Makefiles like wlan.mk.
  34. ################################ cnss2 ################################
  35. include $(CLEAR_VARS)
  36. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  37. LOCAL_MODULE := cnss2.ko
  38. LOCAL_MODULE_KBUILD_NAME := cnss2/cnss2.ko
  39. LOCAL_MODULE_TAGS := optional
  40. LOCAL_MODULE_DEBUG_ENABLE := true
  41. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  42. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  43. ######################## cnss_plat_ipc_qmi_svc ########################
  44. include $(CLEAR_VARS)
  45. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  46. LOCAL_MODULE := cnss_plat_ipc_qmi_svc.ko
  47. LOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_plat_ipc_qmi_svc.ko
  48. LOCAL_MODULE_TAGS := optional
  49. LOCAL_MODULE_DEBUG_ENABLE := true
  50. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  51. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  52. ######################## wlan_firmware_service ########################
  53. include $(CLEAR_VARS)
  54. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  55. LOCAL_MODULE := wlan_firmware_service.ko
  56. LOCAL_MODULE_KBUILD_NAME := cnss_utils/wlan_firmware_service.ko
  57. LOCAL_MODULE_TAGS := optional
  58. LOCAL_MODULE_DEBUG_ENABLE := true
  59. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  60. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  61. ############################### cnss_nl ###############################
  62. include $(CLEAR_VARS)
  63. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  64. LOCAL_MODULE := cnss_nl.ko
  65. LOCAL_MODULE_KBUILD_NAME := cnss_genl/cnss_nl.ko
  66. LOCAL_MODULE_TAGS := optional
  67. LOCAL_MODULE_DEBUG_ENABLE := true
  68. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  69. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  70. ############################ cnss_prealloc ############################
  71. include $(CLEAR_VARS)
  72. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  73. LOCAL_MODULE := cnss_prealloc.ko
  74. LOCAL_MODULE_KBUILD_NAME := cnss_prealloc/cnss_prealloc.ko
  75. LOCAL_MODULE_TAGS := optional
  76. LOCAL_MODULE_DEBUG_ENABLE := true
  77. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  78. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  79. ############################ cnss_utils ###############################
  80. include $(CLEAR_VARS)
  81. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  82. LOCAL_MODULE := cnss_utils.ko
  83. LOCAL_MODULE_KBUILD_NAME := cnss_utils/cnss_utils.ko
  84. LOCAL_MODULE_TAGS := optional
  85. LOCAL_MODULE_DEBUG_ENABLE := true
  86. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  87. include $(DLKM_DIR)/Build_external_kernelmodule.mk
  88. ################################ icnss2 ################################
  89. include $(CLEAR_VARS)
  90. LOCAL_SRC_FILES := $(CNSS_SRC_FILES)
  91. LOCAL_MODULE := icnss2.ko
  92. LOCAL_MODULE_KBUILD_NAME := icnss2/icnss2.ko
  93. LOCAL_MODULE_TAGS := optional
  94. LOCAL_MODULE_DEBUG_ENABLE := true
  95. LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
  96. include $(DLKM_DIR)/Build_external_kernelmodule.mk