Makefile make中所有目标的规则-即使文件存在
我想创建一个Makefile make中所有目标的规则-即使文件存在,makefile,Makefile,我想创建一个Makefile,它输出foo,而不管make的目标名称是什么 因此,所有这些都应该起作用: $ make foo $ make a foo $ make foobar foo 但是,如果存在与目标同名的文件,则会失败: $ touch abc $ make abc make: `abc' is up to date. $touch abc $makeabc make:“abc”是最新的。 由于.PHONY不接受模式规则,我不知道如何让make忽略每个文件。怎么样: all $(MA
Makefile
,它输出foo
,而不管make
的目标名称是什么
因此,所有这些都应该起作用:
$ make
foo
$ make a
foo
$ make foobar
foo
但是,如果存在与目标同名的文件,则会失败:
$ touch abc
$ make abc
make: `abc' is up to date.
$touch abc
$makeabc
make:“abc”是最新的。
由于.PHONY
不接受模式规则,我不知道如何让make
忽略每个文件。怎么样:
all $(MAKECMDGOALS): ; @echo foo
.PHONY: all $(MAKECMDGOALS)
FWIW语法
all%:
在GNU make的较新版本中无效;您必须使用旧版本。
all $(MAKECMDGOALS): ; @echo foo
.PHONY: all $(MAKECMDGOALS)