“make” 会重新编译所有文件还是只编译更改过的文件

“make” 会重新编译所有文件还是只编译更改过的文件

假设你有一个程序,你通过make命令从源代码安装了它。该程序包含文件 ccccccd.cc和 ... 。

现在我改变了cc有点。为了启用更改,我应该编译通过命令再次启动该程序make

我的问题make命令是只重新编译改变的文件还是重新编译所有文件。

ps:所有文件在 Makefile 中都定义为 .o。

答案1

一般来说,您不需要为了修改.cc 文件而重新编译所有的.cc 文件。

一个文件通过使用文件.cc与其他文件相关联。.cc.h

例如:

我们猜b.h这是一个关于的标题b.cc

a.cc使用b.h

你不需要重新编译 a.cc由于调整编译 b.cc

但你需要重新编译关于b.h

如果makefile也创建了(基于autotools),make命令也会处理依赖项。

相关内容