CMake:"make depend"有什么用?

CMake: What's the usage of "make depend"?

本文关键字:什么 depend make CMake      更新时间:2023-10-16

cmake生成的目标之一是depend:

下面是这个Makefile的一些有效目标:
…所有(如果没有提供目标则为默认值)
…清洁

…edit_cache
…rebuild_cache

执行"make depend"的效果是什么?

这将构建Makefile的一些目标的依赖规则。见http://en.wikipedia.org/wiki/Makedepend

作为每个文件编译的一部分,CMake要求编译器记录它在编译期间使用-MD, -MT和-MF标志组合读取的依赖项。当您更改文件时,底层构建系统(Make)可以快速查看是否有任何文件需要重新编译,如果它本身或它所依赖的其中一个文件已经更改。

此依赖项信息存储在许多小文件中。由于读取大量小文件可能很慢,因此将它们合并到" dependency .cmake"answers";compiler_depend.cmake"文件在cmake生成的构建系统深处。在我本地版本的CMake上,这被通知为紫色的"合并编译器生成的目标依赖项"。消息。

最后,调用make depend做两件事:

  • 它检查构建系统是否完整并且没有损坏,
  • 它将所有合并的依赖文件替换为空文件,以便下次运行将重新开始并重新生成这些文件。