Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile GNU作出相互依存的预先依赖_Makefile_Dependencies_Gnu - Fatal编程技术网

Makefile GNU作出相互依存的预先依赖

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 ... 有没有办法让这

我正在尝试编写一个带有相互关联的预依赖项的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 ...

有没有办法让这一切顺利进行?我想动态创建$(文件),然后运行其规则。

在运行任何目标之前对其进行评估。最好的办法是在这之前生成列表

FILES = $(shell ls) new.txt

all: $(FILES)

$(FILES):
  echo $@

如果你真的很绝望,你可以从makefile中生成另一个makefile,并调用make的另一个副本。

或生成的makefile.Include在生成任何目标之前都会起作用,但我认为你不能在像OPs示例中那样的目标中执行。