如果编译AOSP / CM中断会发生什么

时间:2014-11-24 18:42:17

标签: android compilation android-source cyanogenmod ccache

我有两个猜测:

它从一开始编译,但使用CCACHE更快

通过检测已编译的模块

继续

如果我清除CCACHE而不是OUT目录会发生什么?会继续还是重启?

1 个答案:

答案 0 :(得分:1)

这里有多个层次。

  • 在顶层,您(至少是我对简要查看构建系统的印象)是制作系统(或类似的东西)。制作具体的目标'通过调用命令。如果目标已经存在并且是最新的(它所基于的源文件并不比创建的目标更新),make将不会调用任何命令
  • 一个可以调用的命令是一个编译命令(可选地以' ccache'为前缀)。如果调用带有ccache前缀的命令,ccache将检查其缓存目录以查看是否有可以重用的任何内容。如果有可用的东西,ccache只会将文件从其缓存复制到所需的位置。如果没有可用的内容,ccache将调用编译器命令(并在之后用结果填充其缓存)。

如果清除ccache缓存目录,则表示make' targets'仍然存在并且是最新的。这意味着make将决定这些目标不需要重新编译。换句话说:它会继续,而不是重启。到目前为止,Ccache还没有进入画面。