前言全局说明
Android mk语法
一、说明
1.1 环境:
二、赋值
2.1 赋值
语法::= 是赋值
TARGET_BUILD_TYPE := release
2.2 追加赋值
TARGET_BUILD_TYPE += debug
变量内容原有基础上,再增加内容
2.2 多个文件赋值
LOCAL_SRC_FILES := adb.c \
utils.c
三、取值
$() 是取值
3.1 取值
\$(HOST_OS)
3.2
四、判断
4.1 相等判断
ifeq ($(HOST_OS),linux)
WITH_DEXPREOPT := true
endif
判断 HOST_OS变量内容是不是 linux
4.2 不相等判断
ifneq ($(HOST_OS, linux)
...(省略)
else
...(省略)
endif
4.3 判断默认值
ifdef LOCAL_DEX_PREOPT
# Make sure the boot jars get dexpreopt-ed first
$(LOCAL_BUILT_MODULE): $(DEXPREOPT_BOOT_ODEXS) | $(DEXPREOPT) $(DEXOPT)
endif
4.4
4.
五、引入(导入、引用)
5.1 include 函数
include $(CLEAR_VARS)
5.2 include 文件
include Vendor/google/Android.mk
5.3 -include 文件
和include区别,-include 引入的文件不存在,不会报错
-include Vendor/google/Android.mk
5.
六、宏定义
6.1 定义宏
define 宏名
宏内容
endef
6.1 引用宏
$(宏名)
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://blog.csdn.net/tunmengsmile/article/details/118328061
https://blog.csdn.net/honghua_bai/article/details/122159169
https://www.cnblogs.com/bhlsheji/p/5318149.html
https://www.bilibili.com/video/BV1Eh4y1B7Z4 (5.3)
https://blog.51cto.com/u_16213318/7393225 (宏定义 define)