android make .mk文件说明

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-21 16:59   522   0

文件名

说明

main.mk

最主要的 Make 文件,该文件中首先将对编译环境进行检查,同时引入其他的 Make 文件。另外,该文件中还定义了几个最主要的 Make 目标,例如 droid,sdk,等(参见后文“Make 目标说明”)。

ONE_SHOT_MAKEFILE 是一个变量,当使用“mm”编译某个目录下的模块时,此变量的值即为当前指定路径下的 Make 文件的路径。
subdir_makefiles:各个模块的 Android.mk 文件的集合

help.mk

包含了名称为 help 的 Make 目标的定义,该目标将列出主要的 Make 目标及其说明。

pathmap.mk

将许多头文件的路径通过名值对的方式定义为映射表,并提供 include-path-for 函数来获取。例如,通过 $(call include-path-for, frameworks-native)便可以获取到 framework 本地代码需要的头文件路径。

envsetup.mk

配置 Build 系统需要的环境变量,例如:TARGET_PRODUCT,TARGET_BUILD_VARIANT,HOST_OS,HOST_ARCH 等。
当前编译的主机平台信息(例如操作系统,CPU 类型等信息)就是在这个文件中确定的。
另外,该文件中还指定了各种编译结果的输出路径。

combo/select.mk

根据当前编译器的平台选择平台相关的 Make 文件。

dumpvar.mk

在 Build 开始之前,显示此次 Build 的配置信息。

config.mk

整个 Build 系统的配置文件,最重要的 Make 文件之一。该文件中主要包含以下内容:

  • 定义了许多的常量来负责不同类型模块的编译。
  • 定义编译器参数以及常见文件后缀,例如 .zip,.jar.apk。
  • 根据 BoardConfig.mk 文件,配置产品相关的参数。
  • 设置一些常用工具的路径,例如 flex,e2fsck,dx。

definitions.mk

最重要的 Make 文件之一,在其中定义了大量的函数。这些函数都是 Build 系统的其他文件将用到的。例如:my-dir,all-subdir-makefiles,find-subdir-files,sign-package 等,关于这些函数的说明请参见每个函数的代码注释。

distdir.mk

针对 dist 目标的定义。dist 目标用来拷贝文件到指定路径。

dex_preopt.mk

针对启动 jar 包的预先优化。

pdk_config.mk

顾名思义,针对 pdk(Platform Developement Kit)的配置文件。

post_clean.mk

在前一次 Build 的基础上检查当前 Build 的配置,并执行必要清理工作。

legacy_prebuilts.mk

该文件中只定义了 GRANDFATHERED_ALL_PREBUILT 变量。

Makefile

被 main.mk 包含,该文件中的内容是辅助 main.mk 的一些额外内容。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP