您好我正在尝试了解foreach函数的原理。很明显,我是make系统的新手,所以我需要对实际发生的事情做一些澄清。所以在下面的例子中:
dirs := a b c d
files := $(foreach dir,$(dirs),$(wildcard $(dir)/*)
将扩展为
files := $(wildcard a/* b/* c/* d/*)
那么 dir 是什么,它的用途是什么?这不是多余的吗?我的建议是,dir接受每次迭代的dirs的每个连续(空格分离)值的值。然后通配符功能就可以了。
答案 0 :(得分:0)
Foreach具有以下语法:
foreach(var, list, text)
。
基本上,var
获取list
中每个元素的值,然后执行text
。您可以使用var
(或示例中的dir
)在text
中指定要在dir
上执行的命令(或一系列命令)。
对于其他读者,OP的示例来自GNU Make file manual。