关于wlan的编译
/vendor/qcom/opensource/wlan/qcacld-3.0/Android.mk
ifeq ($(LOCAL_MULTI_KO), true) 会有一个这个的判断, 如果是true 就会
$(foreach chip, $(TARGET_WLAN_CHIP) 遍历 TARGET_WLAN_CHIP,这个会在device下面某个项目仓库里面定义,使用了哪些wlan芯片?
例如:TARGET_WLAN_CHIP=qca6174 qca6390 qcn7605 qca6490 qca6390_cnss2 qca6490_cnss2
include $(foreach chip, $(TARGET_WLAN_CHIP), $(LOCAL_PATH)/.$(chip)/Android.mk) 然后创建一些软连接,并 include 进来
1 2 3 4 5
| ifeq ($(TARGET_PRODUCT), taro) include $(DLKM_DIR)/Build_external_kernelmodule.mk else include $(DLKM_DIR)/AndroidKernelModule.mk # ./device/qcom/common/dlkm/AndroidKernelModule.mk endif
|
比较奇怪的地方是 这里没有打印 including mk的日志???
1 2 3 4 5 6 7 8 9 10
| 3 [sa8295_xxxx-userdebug][ 69% 306/443] 2 [sa8295_xxxx-userdebug][ 69% 307/443]including vendor/qcom/opensource/tinycompress/Android.mk ... 1 [sa8295_xxxx-userdebug][ 69% 308/443]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [sa8295_xxxx-userdebug][ 69% 308/443]LOCAL_PATH=vendor/qcom/opensource/wlan/qcacld-3.0 1 [sa8295_xxxx-userdebug][ 69% 308/443]LOCAL_DEV_NAME=qcacld-3.0 2 [sa8295_xxxx-userdebug][ 69% 308/443]TARGET_WLAN_CHIP=qca6174 qca6390 qcn7605 qca6490 qca6390_cnss2 qca6490_cnss2 3 [sa8295_xxxx-userdebug][ 69% 308/443]"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 4 [sa8295_xxxx-userdebug][ 69% 308/443]LOCAL_PATH=vendor/qcom/opensource/wlan/qcacld-3.0/.qca6174 5 [sa8295_xxxx-userdebug][ 69% 308/443]LOCAL_DEV_NAME=qca6174
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| /bin/bash -c " ( cp -f vendor/qcom/opensource/wlan/qcacld-3.0/.qcn7605/Kbuild out/target/product/sa8295_xxxx/obj/vendor/qcom/opensource/wlan/qcacld-3.0/.qcn7605/Kbuild ) && ( ./prebuilts/build-tools/linux-x86/bin/make -j16 -j32 -C out/target/product/sa8295_xxxx/obj/kernel/msm-5.4 M=../../vendor/qcom/opensource/wlan/qcacld-3.0/.qcn7605 ARCH=arm64 CROSS_COMPILE=./prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android- REAL_CC=./prebuilts/clang/host/linux-x86/clang-r416183b/bin/clang CLANG_TRIPLE=aarch64-linux-gnu- AR=./prebuilts/clang/host/linux-x86/clang-r416183b/bin/llvm-ar LLVM_NM=./prebuilts/clang/host/linux-x86/clang-r416183b/bin/llvm-nm LD=./prebuilts/clang/host/linux-x86/clang-r416183b/bin/ld.lld NM=./prebuilts/clang/host/linux-x86/clang-r416183b/bin/llvm-nm modules WLAN_ROOT=vendor/qcom/opensource/wlan/qcacld-3.0/.qcn7605 WLAN_COMMON_ROOT=cmn WLAN_COMMON_INC=vendor/qcom/opensource/wlan/qcacld-3.0/cmn WLAN_FW_API=vendor/qcom/opensource/wlan/fw-api WLAN_PROFILE=qcn7605 DYNAMIC_SINGLE_CHIP=qcn7605 MODNAME=wlan DEVNAME=qcn7605 BOARD_PLATFORM=msmnile CONFIG_QCA_CLD_WLAN=m WLAN_CFG_OVERRIDE=\"CONFIG_FEATURE_COEX=y CONFIG_QCACLD_FEATURE_BTC_CHAIN_MODE=y CONFIG_WLAN_DISABLE_EXPORT_SYMBOL=y CONFIG_GET_DRIVER_MODE=y CONFIG_VCPU_TIMESTOLEN=y\" WLAN_CTRL_NAME=wlan ANDROID_BUILD_TOP=\$(pwd) ) && ( touch out/target/product/sa8295_xxxx/obj/vendor/qcom/opensource/wlan/qcacld-3.0/.qcn7605/buildko.timestamp )"
|