我想将我的通配符目标声明为虚假,但是假冒不支持通配符:
我的makefile:
%.config:
gcc <<compile>>
我希望用户能够使用我的makefile来编译项目,使用特定的配置文件:
make something.config
make something_else.config
显然,我需要我的目标是虚假的,因为目标文件存在,但只是写作:
.PHONY: %.config
不起作用。 我见过here makeapp支持另一种语法,这会有所帮助:
$(phony %.config): ...
但我只能使用make,而不能使用makeapp。
有没有办法用make做?
答案 0 :(得分:2)
这些是相互冲突的目标。虚假目标是与真实文件不对应的目标。在你的情况下,文件存在,但它不是真正的目标。
我建议不要使用配置文件的名称作为目标。相反,基于以下之一构建系统:
make something_else
make CONFIG=something_else.config