makefile强制目标

来源:互联网 发布:python多线程 编辑:程序博客网 时间:2024/05/21 10:08
如果一个规则没有命令或者依赖,而且它的目标不是一个存在的文件名。在执行此规则时,目标总会被认为是最新的。就是说:这个规则一旦被执行, make 就认为它的目标已经被更新过。这样的目标在作为一个规则的依赖时,因为依赖总被认为被更新过,因此作为依赖所在的规则定义的命令总会被执行。看一个例子:clean: FORCErm $(objects)FORCE:这个例子中,目标“FORCE”符合上边的条件。它作为目标“clean”的依赖出现,在执行 make时,它总被认为被更新过。所以“clean”所在的规则在被执行时规则所定义的命令总会被执行。这样的一个目标通常我们将其命名为“FORCE”。上边的例子中使用“FORCE”目标的效果和我们指定“clean”为伪目标效果相同。两种方式相比较,使用“.PHONY”方式更加直观高效。这种方式主要用在非 GNU 版本的 make 中。在使用GNU make,尽量避免使用这种方式。

原创粉丝点击