需要帮助来理解 make 文件中的 foreach 函数
Need help to understand foreach function in make files
你好,我想了解一下foreach函数的原理。很明显我是 make 系统的新手,所以我需要更多地澄清真正发生的事情。所以在下面的例子中:
dirs := a b c d
files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)
将扩展到
files := $(wildcard a/* b/* c/* d/*)
那么 dir 是什么,它有什么用?这不是多余的吗?我的建议是 dir 接受每次迭代的 dirs 的每个连续(space 单独)值。然后通配符函数完成它的工作。
Foreach 具有以下语法:
foreach(var, list, text)
。
基本上,var
取list
中每个元素的值,然后执行text
。您使用 var
(或示例中的 dir
)在 text
中指定要在 dir
上执行的命令(或一系列命令)。
对于其他读者,OP 的示例取自 GNU Make file manual。
你好,我想了解一下foreach函数的原理。很明显我是 make 系统的新手,所以我需要更多地澄清真正发生的事情。所以在下面的例子中:
dirs := a b c d
files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)
将扩展到
files := $(wildcard a/* b/* c/* d/*)
那么 dir 是什么,它有什么用?这不是多余的吗?我的建议是 dir 接受每次迭代的 dirs 的每个连续(space 单独)值。然后通配符函数完成它的工作。
Foreach 具有以下语法:
foreach(var, list, text)
。
基本上,var
取list
中每个元素的值,然后执行text
。您使用 var
(或示例中的 dir
)在 text
中指定要在 dir
上执行的命令(或一系列命令)。
对于其他读者,OP 的示例取自 GNU Make file manual。