参考博客:
android的m、mm、mmm编译命令的使用
Android源代码编译命令m/mm/mmm/make分析
须知
**
- m、mm、mmm指令是对make指令的封装,是通过make指令对整个源码或者指定模块进行编译。
- Android.mk是一个makefile脚本文件,用于描述模块编译信息。
- lunch指令是定义在build/envsetup.sh文件中的函数lunch所提供。m、mm、mmm指令也是由build/envsetup.sh文件中的函数m、mm、mmm提供。
- 因此需要先在源码所在根目录执行. build/envsetup.sh或者source
build/envsetup.sh指令后进行编译环境配置。**
m指令
m是对make指令的简单封装,通常用于源码的第一次编译,时间较长。看了很多博客好像很少使用,都是直接使用make指令。
make指令
使用方法:
make 模块名 -j4 #j4表示在4个线程下编译该模块
mm指令
**说明:**在模块当前路径下,对指定模块编译。
注意事项:
- 只能在第一次编译之后使用;
- 只对该模块编译,不对依赖模块编译;
- 该模块文件夹中需要包含android.mk文件。
使用方法:
cd 要编译模块的路径
mm
mmm指令
说明:在源码根目录下,指定路径进行编译
注意事项:
- 只能在第一次编译之后使用;
- 只对该模块编译,不对依赖模块编译;
- 该模块文件夹中需要包含android.mk文件。
使用方法:
mmm 相对路径