【发布时间】:2014-07-31 13:47:55
【问题描述】:
目录中有 C 文件,我有一个 makefile。 我通常使用makefile来编译。 我一直在徘徊'make clean'的角色 'make clean' 只是删除文件。 虽然我没有使用'make clean',但 当出现问题时,会显示错误和警告。 我无法理解为什么每次更改源文件时都需要使用“make clean”。
【问题讨论】:
-
这完全取决于makefile的内容。如果依赖项设置不正确,或者在更新其先决条件后其他内容触及目标文件,
make可能不知道需要重建目标。 -
在 makefile 中有完美的依赖图是没有必要的。但是世界并不完美,许多依赖项可能会被省略(意外或故意 - 例如,不跟踪系统标头以减少浪费时间 - 无论如何,此标头很少更新)。干净的构建确保一切都是用最新版本的可靠文件构建的。
标签: makefile