.PHONY
Makefile是什么意思?我已经经历过了,但是它太复杂了。
有人可以简单地向我解释吗?
默认情况下,Makefile目标是“文件目标”-用于从其他文件构建文件。Make假设其目标是文件,这使得编写Makefile相对容易:
foo: bar
create_one_from_the_other foo bar
但是,有时您希望Makefile运行不代表文件系统中物理文件的命令。常见的目标“干净”和“全部”就是很好的例子。可能不是这种情况,但是您可能clean
在主目录中有一个命名的文件。在这种情况下,Make会感到困惑,因为默认情况下clean
目标将与此文件关联,而Make仅在文件依赖关系似乎不是最新时才运行它。
这些特殊的目标称为phony,您可以明确地告诉Make与文件无关,例如:
.PHONY: clean
clean:
rm -rf *.o
make clean
即使您有一个名为的文件,Now也将按预期运行clean
。
就Make而言,一个虚假目标只是一个总是过时的目标,因此,只要您询问make <phony_target>
,它就可以独立于文件系统的状态运行。一些常见的make
是经常假目标是:all
,install
,clean
,distclean
,TAGS
,info
,check
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句