例子的Android.mk如下:
[笔记分享] [Build] Android编译系统例子分析

当我们使用 make hello_qisda 命令时,文件重要跟踪部分如下:
[笔记分享] [Build] Android编译系统例子分析

executable.mk文件中,
[笔记分享] [Build] Android编译系统例子分析
定义class和suffix变量后包含dynamic_binary.mk,在这个文件中获取下图所示需要的变量值。
[笔记分享] [Build] Android编译系统例子分析
这里就是一个模块编译所需要的规则了。我们在看dynamic_binary.mk。

[笔记分享] [Build] Android编译系统例子分析
得到了连接里所有的目标变量值
在binary.mk中:
[笔记分享] [Build] Android编译系统例子分析

从android.mk获取了各种源文件。
[笔记分享] [Build] Android编译系统例子分析
从android.mk中得到需要依赖的库文件。

到此,我们的依赖文件也都有了。最后看执行命令获取。在definition.mk中:
[笔记分享] [Build] Android编译系统例子分析

这样我们的目标文件、依赖文件、执行命令都有了。目标可以成功创建了。
对于其他的静态、动态库等目标程序的编译,也是大同小异,可自行分析。

相关文章:

  • 2021-12-09
  • 2021-04-21
  • 2021-06-04
  • 2021-12-18
  • 2021-12-03
  • 2021-11-13
  • 2022-01-11
猜你喜欢
  • 2021-07-09
  • 2021-08-14
  • 2021-09-11
  • 2021-12-01
  • 2021-12-18
  • 2021-12-18
相关资源
相似解决方案