【发布时间】:2015-01-25 00:06:57
【问题描述】:
我写了一个简单的makefile,无法避免不必要的重新链接
Target: foo1.o foo2.o
LINK COMMAND
.c.o:
COMPILE command
每次我尝试make TARGET,即使没有更新源文件,LINK 命令也会一直运行。
如何避免这种不必要的重新链接?
谢谢,
【问题讨论】:
-
如所写,这应该可以工作(除了大小写更改)。你能提供实际的 makefile 和运行两次的成绩单吗?
-
抽象复杂代码是一个好计划,但必须小心确保抽象版本实际上代表完整代码。
-
感谢@wnoise 和@dmckee,我找到了问题所在。我试图将可执行文件保存在另一个目录中,即 tmp/foo,makefile 没有检测到子目录的时间戳。通过将 TARGET 更改为 tmp/TARGET 可以解决问题。
标签: makefile