在makefile中,声明伪造目标为通配符

我想宣布我的通配符目标为假,但假冒不支持通配符:

我的makefile:

%.config:
        gcc <<compile>>

我希望用户能够使用我的makefile编译项目,并使用特定的配置文件:

make something.config
make something_else.config

显然,我需要我的目标是虚假的,因为目标文件存在,但只是写作:

.PHONY: %.config

不起作用。 我在这里看到,makeapp支持另一种语法,这将有助于:

$(phony %.config): ...

但我只能使用make,而不能makeapp。

有什么办法可以做到吗?


这些是相互矛盾的目标。 虚假目标是不对应于真实文件的目标。 在你的情况下,文件存在,但它不是一个真正的目标。

我建议不要使用配置文件的名称作为目标。 相反,建立一个基于以下之一的系统:

make something_else
make CONFIG=something_else.config
链接地址: http://www.djcxy.com/p/64113.html

上一篇: in a makefile, declaring a phony target as a wildcard

下一篇: Can I wrap text to a given width with Guava?