android ndk编译 m mm mmm mmma

来源:互联网 发布:举牌图制作软件 编辑:程序博客网 时间:2024/06/06 02:34

m:编译整个安卓系统

 makes from the top of the tree

mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的android.mk文件。

     builds all of the moudles in the current directory     mma:当前目录新增或删除文件后,可以用mma重新编译。

mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件

         builds all of the moudles in the supplies directory        mmma:指定目录下新增或删除文件后,可以用mmma重新编译。        mmm命令 的编译过程:        build/core/main.mk(是Android编译系统的入口文件)       ->build/core/config.mk(会定好编译类型和目标文件)       ->build/core/definitions.mk(定义在编译过程中用到的宏)       ->ONE_SHOT_MAKEFILE->build/core/package.mk(编译Apk库文件)                                                                                            ->build/core/java_library.mk(编译Java库文件)                                                                                            ->build/core/static_java_library.mk(编译Java静态库文件)                                                                                            ->build/core/shared_library.mk->build/core/dynamic_library.mk->build/core/binary.mk->build/core/base_rules.mk                                                                                                                                                                                 ( 计算一些基本变量的值,并创建一些基本的依赖规则)                                                                                            ->build/core/static_library.mk(编译.a静态库文件)                                                                                            ->build/core/executable.mk(编译可执行文件)                                                                                            ->build/core/prebuilt.mk(编译已经预编译好的第三方库文件)                                                                                            ->build/core/Makfile(有system.img、boot.img、recovery.img等镜像文件生成规则)

环境变量ONE_SHOT_MAKEFILE中存放要编译模块的Android.mk的文件路径,如果环境变量值为空,表示执行的是m或者make命令,会对Android源代码中的所有模块进行编译。

mm、mmm是类似的,都是用来编译某些模块。

原创粉丝点击