blob: 7fd7dea18f638eba575090d49e2cd910a08784be [file] [log] [blame]
Jeff Johnson25abf4d2012-12-01 12:42:42 -08001# Android makefile for the WLAN WCNSS/Prima Module
2
3# Build/Package only in case of 8960 target
Nagender Telkarbf4ce932012-12-12 13:20:58 -08004ifeq ($(call is-board-platform,msm8960),true)
Jeff Johnson25abf4d2012-12-01 12:42:42 -08005
6LOCAL_PATH := $(call my-dir)
7
8# This makefile is only for DLKM
9ifneq ($(findstring vendor,$(LOCAL_PATH)),)
10
11# Determine if we are Proprietary or Open Source
12ifneq ($(findstring opensource,$(LOCAL_PATH)),)
13 WLAN_PROPRIETARY := 0
14else
15 WLAN_PROPRIETARY := 1
16endif
17
18ifeq ($(WLAN_PROPRIETARY),1)
19 WLAN_BLD_DIR := vendor/qcom/proprietary/wlan
20else
21 WLAN_BLD_DIR := vendor/qcom/opensource/wlan
22endif
23
24ifeq ($(call is-android-codename,JELLY_BEAN),true)
25 DLKM_DIR := $(TOP)/device/qcom/common/dlkm
26else
27 DLKM_DIR := build/dlkm
28endif
29
30ifeq ($(WLAN_PROPRIETARY),1)
31# For the proprietary driver the firmware files are handled here
32include $(CLEAR_VARS)
33LOCAL_MODULE := WCNSS_qcom_wlan_nv.bin
34LOCAL_MODULE_TAGS := optional
35LOCAL_MODULE_CLASS := ETC
36LOCAL_MODULE_PATH := $(PRODUCT_OUT)/persist
37LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
38include $(BUILD_PREBUILT)
39
40include $(CLEAR_VARS)
41LOCAL_MODULE := WCNSS_cfg.dat
42LOCAL_MODULE_TAGS := optional
43LOCAL_MODULE_CLASS := ETC
44LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/wlan/prima
45LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
46include $(BUILD_PREBUILT)
47
48include $(CLEAR_VARS)
49LOCAL_MODULE := WCNSS_qcom_cfg.ini
50LOCAL_MODULE_TAGS := optional
51LOCAL_MODULE_CLASS := ETC
52LOCAL_MODULE_PATH := $(PRODUCT_OUT)/persist
53LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
54include $(BUILD_PREBUILT)
55
56endif
57
58# Build prima_wlan.ko
59###########################################################
60
61# This is set once per LOCAL_PATH, not per (kernel) module
62KBUILD_OPTIONS := WLAN_PRIMA=../$(WLAN_BLD_DIR)/prima
63# We are actually building wlan.ko here, as per the
64# requirement we are specifying prima_wlan.ko as LOCAL_MODULE.
65# This means we need to rename the module to prima_wlan.ko
66# after wlan.ko is built.
67KBUILD_OPTIONS += MODNAME=wlan
68KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
69
70include $(CLEAR_VARS)
71LOCAL_MODULE := prima_wlan.ko
72LOCAL_MODULE_KBUILD_NAME := wlan.ko
73LOCAL_MODULE_TAGS := debug
74LOCAL_MODULE_DEBUG_ENABLE := true
75LOCAL_MODULE_PATH := $(TARGET_OUT)/lib/modules/prima
76include $(DLKM_DIR)/AndroidKernelModule.mk
77###########################################################
78
79#Create symbolic link
80$(shell mkdir -p $(TARGET_OUT)/lib/modules; \
81 ln -sf /system/lib/modules/prima/prima_wlan.ko \
82 $(TARGET_OUT)/lib/modules/wlan.ko)
83
84ifeq ($(WLAN_PROPRIETARY),1)
85$(shell mkdir -p $(TARGET_OUT_ETC)/firmware/wlan/prima; \
86 ln -sf /persist/WCNSS_qcom_wlan_nv.bin \
87 $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin; \
88 ln -sf /data/misc/wifi/WCNSS_qcom_cfg.ini \
89 $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_cfg.ini)
90endif
91endif
Nagender Telkarbf4ce932012-12-12 13:20:58 -080092
93endif # 8960 target check