xref: /wlan-dirver/platform/Android.mk (revision 94cdab90a2fdd6613a276f76c28ac17243e296bb) !
169db86ceSYue Ma# Android Makefile for WLAN platform modules
269db86ceSYue Ma
318d51db0SBruce LevyENABLE_WLAN_PLATFORM_DLKM := false
418d51db0SBruce Levyifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
518d51db0SBruce Levy  ifeq ($(TARGET_KERNEL_DLKM_WLAN_OVERRIDE), true)
618d51db0SBruce Levy    ENABLE_WLAN_PLATFORM_DLKM := true
718d51db0SBruce Levy  endif
818d51db0SBruce Levyelse
918d51db0SBruce Levy  ENABLE_WLAN_PLATFORM_DLKM := true
1018d51db0SBruce Levyendif
1118d51db0SBruce Levy
1218d51db0SBruce Levyifeq ($(ENABLE_WLAN_PLATFORM_DLKM), true)
1318d51db0SBruce Levy
1469db86ceSYue Ma# LOCAL_PATH is a relative path to root build directory.
1569db86ceSYue MaLOCAL_PATH := $(call my-dir)
169b33792fSJeff JohnsonLOCAL_MODULE_DDK_BUILD := true
179b33792fSJeff JohnsonLOCAL_MODULE_DDK_ALLOW_UNSAFE_HEADERS := true
189b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS := cnss2/cnss2.ko
199b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/cnss_plat_ipc_qmi_svc.ko
209b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/wlan_firmware_service.ko
219b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_genl/cnss_nl.ko
229b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_prealloc/cnss_prealloc.ko
239b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += cnss_utils/cnss_utils.ko
249b33792fSJeff JohnsonLOCAL_MODULE_KO_DIRS += icnss2/icnss2.ko
25*94cdab90SDundi Raviteja
26*94cdab90SDundi RavitejaBOARD_COMMON_DIR ?= device/qcom/common
27*94cdab90SDundi RavitejaDLKM_DIR := $(TOP)/$(BOARD_COMMON_DIR)/dlkm
2869db86ceSYue Ma
2969db86ceSYue Ma# WLAN_PLATFORM_ROOT needs to be a absolute since it will be used
3069db86ceSYue Ma# for header files. $(TOP) cannot be used here since it will be
3169db86ceSYue Ma# resolved as "." which won't work for Kbuild.
3269db86ceSYue MaKBUILD_OPTIONS := WLAN_PLATFORM_ROOT=$(abspath $(LOCAL_PATH))
3369db86ceSYue Ma
3469db86ceSYue Ma# WLAN_PLATFORM_KBUILD_OPTIONS should be defined from upper level
3569db86ceSYue Ma# Product or Board related Makefiles like wlan.mk.
3669db86ceSYue MaKBUILD_OPTIONS += $(foreach wlan_platform_kbuild_option, \
3769db86ceSYue Ma		   $(WLAN_PLATFORM_KBUILD_OPTIONS), \
3869db86ceSYue Ma		   $(wlan_platform_kbuild_option))
3969db86ceSYue Ma
4069db86ceSYue Ma# Sourcing all files is for better incremental compilation.
4169db86ceSYue MaCNSS_SRC_FILES := \
4269db86ceSYue Ma	$(wildcard $(LOCAL_PATH)/*) \
4369db86ceSYue Ma	$(wildcard $(LOCAL_PATH)/*/*) \
4469db86ceSYue Ma
45203b502eSZhaoyang Liuifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true)
46ad4399e3SManikandan MohanKBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(PWD)/$(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers
47203b502eSZhaoyang Liuendif
48ad4399e3SManikandan Mohan
4969db86ceSYue Ma# Module.symvers needs to be generated as a intermediate module so that
5069db86ceSYue Ma# other modules which depend on WLAN platform modules can set local
5169db86ceSYue Ma# dependencies to it.
5269db86ceSYue Ma
5369db86ceSYue Ma########################### Module.symvers ############################
5469db86ceSYue Mainclude $(CLEAR_VARS)
5569db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
5669db86ceSYue MaLOCAL_MODULE              := wlan-platform-module-symvers
5769db86ceSYue MaLOCAL_MODULE_STEM         := Module.symvers
5869db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := Module.symvers
5969db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
6069db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
6169db86ceSYue Ma
6269db86ceSYue Ma# Below are for Android build system to recognize each module name, so
6369db86ceSYue Ma# they can be installed properly. Since Kbuild is used to compile these
6469db86ceSYue Ma# modules, invoking any of them will cause other modules to be compiled
6569db86ceSYue Ma# as well if corresponding flags are added in KBUILD_OPTIONS from upper
6669db86ceSYue Ma# level Makefiles like wlan.mk.
6769db86ceSYue Ma
6869db86ceSYue Ma################################ cnss2 ################################
6969db86ceSYue Mainclude $(CLEAR_VARS)
70291b1a8dSRajesh Chauhanifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true)
71ad4399e3SManikandan MohanLOCAL_REQUIRED_MODULES := sec-module-symvers
72ad4399e3SManikandan MohanLOCAL_ADDITIONAL_DEPENDENCIES += $(call intermediates-dir-for,DLKM,sec-module-symvers)/Module.symvers
73291b1a8dSRajesh Chauhanendif #TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE
7469db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
7569db86ceSYue MaLOCAL_MODULE              := cnss2.ko
7669db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss2/cnss2.ko
7769db86ceSYue MaLOCAL_MODULE_TAGS         := optional
7869db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
7969db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
8069db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
8169db86ceSYue Ma######################## cnss_plat_ipc_qmi_svc ########################
8269db86ceSYue Mainclude $(CLEAR_VARS)
8369db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
8469db86ceSYue MaLOCAL_MODULE              := cnss_plat_ipc_qmi_svc.ko
8569db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss_utils/cnss_plat_ipc_qmi_svc.ko
8669db86ceSYue MaLOCAL_MODULE_TAGS         := optional
8769db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
8869db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
8969db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
9069db86ceSYue Ma######################## wlan_firmware_service ########################
9169db86ceSYue Mainclude $(CLEAR_VARS)
9269db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
9369db86ceSYue MaLOCAL_MODULE              := wlan_firmware_service.ko
9469db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss_utils/wlan_firmware_service.ko
9569db86ceSYue MaLOCAL_MODULE_TAGS         := optional
9669db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
9769db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
9869db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
9969db86ceSYue Ma############################### cnss_nl ###############################
10069db86ceSYue Mainclude $(CLEAR_VARS)
10169db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
10269db86ceSYue MaLOCAL_MODULE              := cnss_nl.ko
10369db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss_genl/cnss_nl.ko
10469db86ceSYue MaLOCAL_MODULE_TAGS         := optional
10569db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
10669db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
10769db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
10869db86ceSYue Ma############################ cnss_prealloc ############################
10969db86ceSYue Mainclude $(CLEAR_VARS)
11069db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
11169db86ceSYue MaLOCAL_MODULE              := cnss_prealloc.ko
11269db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss_prealloc/cnss_prealloc.ko
11369db86ceSYue MaLOCAL_MODULE_TAGS         := optional
11469db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
11569db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
11669db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
11769db86ceSYue Ma############################ cnss_utils ###############################
11869db86ceSYue Mainclude $(CLEAR_VARS)
11969db86ceSYue MaLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
12069db86ceSYue MaLOCAL_MODULE              := cnss_utils.ko
12169db86ceSYue MaLOCAL_MODULE_KBUILD_NAME  := cnss_utils/cnss_utils.ko
12269db86ceSYue MaLOCAL_MODULE_TAGS         := optional
12369db86ceSYue MaLOCAL_MODULE_DEBUG_ENABLE := true
12469db86ceSYue MaLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
12569db86ceSYue Mainclude $(DLKM_DIR)/Build_external_kernelmodule.mk
1263983bc45SNaman Padhiar################################ icnss2 ################################
1273983bc45SNaman Padhiarinclude $(CLEAR_VARS)
1283983bc45SNaman PadhiarLOCAL_SRC_FILES           := $(CNSS_SRC_FILES)
1293983bc45SNaman PadhiarLOCAL_MODULE              := icnss2.ko
1303983bc45SNaman PadhiarLOCAL_MODULE_KBUILD_NAME  := icnss2/icnss2.ko
1313983bc45SNaman PadhiarLOCAL_MODULE_TAGS         := optional
1323983bc45SNaman PadhiarLOCAL_MODULE_DEBUG_ENABLE := true
1333983bc45SNaman PadhiarLOCAL_MODULE_PATH         := $(KERNEL_MODULES_OUT)
1343983bc45SNaman Padhiarinclude $(DLKM_DIR)/Build_external_kernelmodule.mk
13518d51db0SBruce Levyendif #ENABLE_WLAN_PLATFORM_DLKM
136