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

时间:2012-06-20 11:05:37

标签: linux makefile wildcard

我想将我的通配符目标声明为虚假,但是假冒不支持通配符:

我的makefile:

%.config:
        gcc <<compile>>

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

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

.PHONY: %.config

不起作用。 我见过here makeapp支持另一种语法,这会有所帮助:

$(phony %.config): ...

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

有没有办法用make做?

1 个答案:

答案 0 :(得分:2)

这些是相互冲突的目标。虚假目标是与真实文件不对应的目标。在你的情况下,文件存在,但它不是真正的目标。

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

make something_else
make CONFIG=something_else.config