制作依赖于目标的变量

时间:2014-07-31 21:53:14

标签: makefile

我有一个变量in make依赖于一个必须在变量设置之前构建的文件,有没有办法让它工作?

parsable_file: dependancies
    commands to make parsable_file
targets=$(shell parse_cmd parsable_file)
$(targets): parsable_file
    command to make targets
.phony: all
all:$(targets)

如果我运行$ make parsable_file && make all,这将有效(我收到parse_cmd无法找到parsable_file的错误但它确实有效),但只是让一切都行不通。这有成语吗?

1 个答案:

答案 0 :(得分:1)

将变量放在主makefile中include的文件中,并在主makefile中包含一个规则,以便如何构建它(你已经拥有的那个应该没问题)。

我相信会做你想做的事。

有关此概念的详情,请参阅Including Other MakefilesHow Makefiles Are Remade(从第一部分链接)。

此外,除非parseable_file具有独立于parse_cmd调用的用法,否则应该可以同时进行创建和解析,并使得生成的makefile包含正确的值$(targets)一步到位。