mk相关记录
Android 中主要的mk 文件
Android 编译系统中涉及到的主要Makefile 文件的解释
以下文件的路径:~\build\core\
- main.mk - 整个编译系统的主导文件
- config.mk - 产品配置的主导文件
- base_rule.mk - 编译系统中需要遵循的基础规则定义
- build_id.mk - 版本id 的定义
- cleanbuild.mk - clean 操作的定义
- clear_vars.mk - 清空以LOCAL 开头的相关系统变量
- definition.mk - 大量常用函数的定义
- envsetup.mk - 配置编译的环境变量 要区别于
envsetup.sh
- excutable.mk 负责
BUILD_EXCUTABLE
的具体实现 - java.mk - 负责与java 语言相关的编译实现
- host_executable.mk - 负责
BUILD_HOST_EXCUTABLE
的具体实现 - host_static_library.mk - 负责
BUILD_HOST_STATIC_LIBRARY
的具体实现(其它BUILD_xxxx 变量也有对应的mk文件实现) - product_config.mk - 产品级别配置,属于config的一部分
- version_defaults.mk - 负责生成版本信息
一个Android.mk 模块编译顺序
# LOCAL_PATH 位置先于 CLEAR_VARS
LOCAL_PATH:= $(call my-dir)
# 清除了上百个除去LOCAL_PATH外的变量,一般被认为是一个编译模块的开始
include $(CLEAR_VARS)
# LOCAL_SRC_FILES 是一个很重要的变量,定义了本木块编译所涉及的所有源文件
LOCAL_SRC_FILES := $(call all-java-files-under, java)
# 编译参数
LOCAL_CFLAGS :=
# LOCAL_MODULE 编译所生成模块的名称
LOCAL_MODULE :=
# 编译中用到的库
LOCAL_STATIC_JAVA_LIBRARIES / LOCAL_STATIC_LIBRARIES :=
# BUILD_HOST_EXCUTABLE / BUILD_HOST_EXCUTABLE
include $(BUILD_HOST_EXCUTABLE)
mk文件的重点,BUILD_HOST_EXCUTABLE 表示希望生成一个Host 可执行程序,也标记一个模块从include $(CLEAR_VARS)开始,到这里结束
本文来自博客园,作者:阿丟啊,转载请注明原文链接:https://www.cnblogs.com/qiyuexiaxun/p/17844927.html