android Makefile 组织结构

通过前面的分析引入soong后编译流程变成,所有的Android.bp文件被扫描(具体的列表在out/.module_paths/Android.bp.list)生成build.ninja和Android-aosp_arm.mk文件,kati扫描main.mk组织所有的makefile文件生成out/build-aosp_arm.ninja文件,最后将两个ninja文件合成一个combined-aosp_arm.ninja

ninja make.png

由于soong在运行扫描所有的module,最后建立module之间的依赖关系,因此android.bp之间的先后顺序不影响后续的ninja文件生成。各个makefile之间的引用顺序如下图


main.mk1.png

在我们日常配置的AndroidProduct.mk和Boardconfig.mk文件在build/core/envsetup.mk中顺序引用,还有所有的Andriod.mk文件扫描产生的Android.mk.list在out/.module_paths下,其中这个文件的列表中包含了AndroidBoard.mk

你可能感兴趣的:(android Makefile 组织结构)