- 论坛徽章:
- 0
|
回复 #7 gtv 的帖子
引用帖子论坛不给短信提示之类的么,不知道回复有没有。
蓝色背景的那__句__话的大概意思是,因为反正每次都要remade,所以说把phony target作为real file的prerequisite没啥意义。
phony target永远是out of date,说的是make看到它的时候认为它是out of date,所以每次(如果有的话)它都要执行,
而它一执行,它就成了__最新__的了(比up to date 还up to date),这样,real file比它旧,导致real file那些命令也要执行。
最后结果就是,不管世界如何变化, realfile : phony target 每次都要执行。
表面上,书里说phony target是始终out of date,但是。。。实际上,它每次make的时候,因为它out of date,它就要执行,它一跑,那就是最up to date的了。。。
out of date 是相对的,不是绝对的。比如
- realfile1 : realfile2
- ...
- realfile2 : realfile3
- ...
复制代码
假设你经过了无数次修改realfile1以及realfile3,就是没有修改realfile2,这时候realfile2是out of date的吧?
那么,你make的时候, realfile1:realfile2 下面的命令不会执行么?
书里没有说“即使target已经up to date”。
你这里的target指的是real file还是phony target?
如果target说的是real file的话,在phony target面前也敢说自己up to date?
如果target说的是phony target的话。。。那啥都不说了。。。
[ 本帖最后由 朱果果 于 2009-12-17 15:10 编辑 ] |
|