Преглед изворни кода

wlan_platform: Add Android.mk to build CNSS drivers

Add Android.mk file so that CNSS family drivers can be built under
Android build system.

Change-Id: If29a4b89bb0c510f9cce8ad21997637801a673a1
Yue Ma пре 3 година
родитељ
комит
69db86ce9e
1 измењених фајлова са 95 додато и 0 уклоњено
  1. 95 0
      Android.mk

+ 95 - 0
Android.mk

@@ -0,0 +1,95 @@
+# Android Makefile for WLAN platform modules
+
+# LOCAL_PATH is a relative path to root build directory.
+LOCAL_PATH := $(call my-dir)
+DLKM_DIR := $(TOP)/device/qcom/common/dlkm
+
+# WLAN_PLATFORM_ROOT needs to be a absolute since it will be used
+# for header files. $(TOP) cannot be used here since it will be
+# resolved as "." which won't work for Kbuild.
+KBUILD_OPTIONS := WLAN_PLATFORM_ROOT=$(abspath $(LOCAL_PATH))
+
+# WLAN_PLATFORM_KBUILD_OPTIONS should be defined from upper level
+# Product or Board related Makefiles like wlan.mk.
+KBUILD_OPTIONS += $(foreach wlan_platform_kbuild_option, \
+		   $(WLAN_PLATFORM_KBUILD_OPTIONS), \
+		   $(wlan_platform_kbuild_option))
+
+# Sourcing all files is for better incremental compilation.
+CNSS_SRC_FILES := \
+	$(wildcard $(LOCAL_PATH)/*) \
+	$(wildcard $(LOCAL_PATH)/*/*) \
+
+# Module.symvers needs to be generated as a intermediate module so that
+# other modules which depend on WLAN platform modules can set local
+# dependencies to it.
+
+########################### Module.symvers ############################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := wlan-platform-module-symvers
+LOCAL_MODULE_STEM         := Module.symvers
+LOCAL_MODULE_KBUILD_NAME  := Module.symvers
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+
+# Below are for Android build system to recognize each module name, so
+# they can be installed properly. Since Kbuild is used to compile these
+# modules, invoking any of them will cause other modules to be compiled
+# as well if corresponding flags are added in KBUILD_OPTIONS from upper
+# level Makefiles like wlan.mk.
+
+################################ cnss2 ################################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := cnss2.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss2/cnss2.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+######################## cnss_plat_ipc_qmi_svc ########################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := cnss_plat_ipc_qmi_svc.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss_utils/cnss_plat_ipc_qmi_svc.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+######################## wlan_firmware_service ########################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := wlan_firmware_service.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss_utils/wlan_firmware_service.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+############################### cnss_nl ###############################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := cnss_nl.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss_genl/cnss_nl.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+############################ cnss_prealloc ############################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := cnss_prealloc.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss_prealloc/cnss_prealloc.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk
+############################ cnss_utils ###############################
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
+LOCAL_MODULE              := cnss_utils.ko
+LOCAL_MODULE_KBUILD_NAME  := cnss_utils/cnss_utils.ko
+LOCAL_MODULE_TAGS         := optional
+LOCAL_MODULE_DEBUG_ENABLE := true
+LOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
+include $(DLKM_DIR)/Build_external_kernelmodule.mk