Makefile GNU作出相互依存的预先依赖
我正在尝试编写一个带有相互关联的预依赖项的make规则Makefile GNU作出相互依存的预先依赖,makefile,dependencies,gnu,Makefile,Dependencies,Gnu,我正在尝试编写一个带有相互关联的预依赖项的make规则 a: b $(FILES) b: $(FILE_1) $(eval FILES := some_function_using_file($(FILE_1))) $(FILES): do something ... 基本上,我需要$(FILE_1)来获得$(FILES)。在文件中进行首次读取时,以下规则不存在,因为$(FILES)最初未定义,但会动态计算 $(FILES): do something ... 有没有办法让这
a: b $(FILES)
b: $(FILE_1)
$(eval FILES := some_function_using_file($(FILE_1)))
$(FILES):
do something ...
基本上,我需要$(FILE_1)来获得$(FILES)。在文件中进行首次读取时,以下规则不存在,因为$(FILES)最初未定义,但会动态计算
$(FILES):
do something ...
有没有办法让这一切顺利进行?我想动态创建$(文件),然后运行其规则。在运行任何目标之前对其进行评估。最好的办法是在这之前生成列表
FILES = $(shell ls) new.txt
all: $(FILES)
$(FILES):
echo $@
如果你真的很绝望,你可以从makefile中生成另一个makefile,并调用make的另一个副本。或生成的makefile.Include在生成任何目标之前都会起作用,但我认为你不能在像OPs示例中那样的目标中执行。