1

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

我的生成文件:

%.config:
        gcc <<compile>>

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

make something.config
make something_else.config

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

.PHONY: %.config

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

$(phony %.config): ...

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

有没有办法用make来做到这一点?

4

1 回答 1

2

这些是相互矛盾的目标。虚假目标是与真实文件不对应的目标。在您的情况下,该文件存在,但它并不是真正的目标。

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

make something_else
make CONFIG=something_else.config
于 2012-06-20T11:31:37.250 回答