(1)buildspec.mk:位于根目录下,可在此选择要产生的product、平台、额外的module/package等
(2)AndroidProducts.mk:即为Android build system提供给厂商的接口文件。通过此文件即可定义所需编译和安装的packages(也即应用程序)。缺省选项是generic。
(3)BoardConfig.mk:是为product主板做设定,例如driver选择设定,选择CPU架构等等。
(4)Android.mk:是 module 和 package 的设置文件
(5)build/envsetup.mk:编译环境初始化,定义一些实用的shell函数,方便编译使用。
(6)build/core/Makefile:包含build/core/main.mk,此文件主要控制生成system.img,ramdisk.img, userdata.img,以及recorvery.image,sdk等。
(7)main.mk:实际的主控Makefile,例如找到TOP目录下所有Android.mk文件。
(8)config.mk:定义了编译目标程序所需的工具链及编译参数
(9)base_rules.mk:对一些Makefile的变量规则化
(10)Binary.mk:控制如何生成目标文件
(11)Clear_vars.mk:清除编译系统中用到的临时变量
(12)definations.mk:定义了很多编译系统中用到的宏,相当于函数库
(13)Copy_headers.mk:将头文件拷贝到指定目录
(14)Combo/linux-arm.mk:控制如何生成linux-arm二进制文件,包括ARM相关的编译器,编译参数等的设置
(15)build/envsetup.sh:提供了几个有用的命令,执行 . build/envsetup.sh(.后面有空格)。其中最有用的命令分为两大类:
设置环境变量类:choosecombo包括
choosesim,选择设备(或者模拟器)
choosetype,选择发布(或调试)代码类型
chooseproduct,选择产品(名字)
chosevariant,选择编译目标(用户或者开发人员或者两者结合)变量
编译类:m、mm、mmm
m 从根目录开始编译
mm 编译当前目录下的所有模块
mmm 编译指定目录下的所有模块
(2)AndroidProducts.mk:即为Android build system提供给厂商的接口文件。通过此文件即可定义所需编译和安装的packages(也即应用程序)。缺省选项是generic。
(3)BoardConfig.mk:是为product主板做设定,例如driver选择设定,选择CPU架构等等。
(4)Android.mk:是 module 和 package 的设置文件
(5)build/envsetup.mk:编译环境初始化,定义一些实用的shell函数,方便编译使用。
(6)build/core/Makefile:包含build/core/main.mk,此文件主要控制生成system.img,ramdisk.img, userdata.img,以及recorvery.image,sdk等。
(7)main.mk:实际的主控Makefile,例如找到TOP目录下所有Android.mk文件。
(8)config.mk:定义了编译目标程序所需的工具链及编译参数
(9)base_rules.mk:对一些Makefile的变量规则化
(10)Binary.mk:控制如何生成目标文件
(11)Clear_vars.mk:清除编译系统中用到的临时变量
(12)definations.mk:定义了很多编译系统中用到的宏,相当于函数库
(13)Copy_headers.mk:将头文件拷贝到指定目录
(14)Combo/linux-arm.mk:控制如何生成linux-arm二进制文件,包括ARM相关的编译器,编译参数等的设置
(15)build/envsetup.sh:提供了几个有用的命令,执行 . build/envsetup.sh(.后面有空格)。其中最有用的命令分为两大类:
设置环境变量类:choosecombo包括
choosesim,选择设备(或者模拟器)
choosetype,选择发布(或调试)代码类型
chooseproduct,选择产品(名字)
chosevariant,选择编译目标(用户或者开发人员或者两者结合)变量
编译类:m、mm、mmm
m 从根目录开始编译
mm 编译当前目录下的所有模块
mmm 编译指定目录下的所有模块