wlan: Unified build support for prima and pronto
Modify the prima makefiles so that the same makefiles can be used to
build either prima or pronto, and can be used both internally and for
Open Source
Change-Id: Icee4593494572d441ca92e38b8f008386cb3da20
CR-Fixed: NA
Conflicts:
prima/Android.mk
diff --git a/Android.mk b/Android.mk
old mode 100644
new mode 100755
index 8ae1f47..c52d1e1
--- a/Android.mk
+++ b/Android.mk
@@ -20,7 +20,18 @@
# This makefile is only for DLKM
ifneq ($(findstring vendor,$(LOCAL_PATH)),)
-WLAN_BLD_DIR := vendor/qcom/opensource/wlan
+# Determine if we are Proprietary or Open Source
+ifneq ($(findstring opensource,$(LOCAL_PATH)),)
+ WLAN_PROPRIETARY := 0
+else
+ WLAN_PROPRIETARY := 1
+endif
+
+ifeq ($(WLAN_PROPRIETARY),1)
+ WLAN_BLD_DIR := vendor/qcom/proprietary/wlan
+else
+ WLAN_BLD_DIR := vendor/qcom/opensource/wlan
+endif
ifeq ($(call is-android-codename,JELLY_BEAN),true)
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
@@ -28,6 +39,33 @@
DLKM_DIR := build/dlkm
endif
+ifeq ($(WLAN_PROPRIETARY),1)
+# For the proprietary driver the firmware files are handled here
+include $(CLEAR_VARS)
+LOCAL_MODULE := WCNSS_qcom_wlan_nv.bin
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(PRODUCT_OUT)/persist
+LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := WCNSS_cfg.dat
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/firmware/wlan/prima
+LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := WCNSS_qcom_cfg.ini
+LOCAL_MODULE_TAGS := optional
+LOCAL_MODULE_CLASS := ETC
+LOCAL_MODULE_PATH := $(PRODUCT_OUT)/persist
+LOCAL_SRC_FILES := firmware_bin/$(LOCAL_MODULE)
+include $(BUILD_PREBUILT)
+
+endif
# Build wlan.ko as either prima_wlan.ko or pronto_wlan.ko
###########################################################
@@ -56,6 +94,14 @@
ln -sf /system/lib/modules/$(WLAN_CHIPSET)/$(WLAN_CHIPSET)_wlan.ko \
$(TARGET_OUT)/lib/modules/wlan.ko)
+ifeq ($(WLAN_PROPRIETARY),1)
+$(shell mkdir -p $(TARGET_OUT_ETC)/firmware/wlan/prima; \
+ ln -sf /persist/WCNSS_qcom_wlan_nv.bin \
+ $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_wlan_nv.bin; \
+ ln -sf /data/misc/wifi/WCNSS_qcom_cfg.ini \
+ $(TARGET_OUT_ETC)/firmware/wlan/prima/WCNSS_qcom_cfg.ini)
+endif
+
endif # DLKM check
endif # supported target check