我有一个变量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
的错误但它确实有效),但只是让一切都行不通。这有成语吗?
答案 0 :(得分:1)
将变量放在主makefile中include
的文件中,并在主makefile中包含一个规则,以便如何构建它(你已经拥有的那个应该没问题)。
我相信会做你想做的事。
有关此概念的详情,请参阅Including Other Makefiles和How Makefiles Are Remade(从第一部分链接)。
此外,除非parseable_file
具有独立于parse_cmd
调用的用法,否则应该可以同时进行创建和解析,并使得生成的makefile包含正确的值$(targets)
一步到位。