makefile中 foreach中text参数的表达式可以是用 \连接多个表达式嘛
时间: 2024-05-14 22:12:28 浏览: 109
可以,可以使用反斜杠(\)将多个表达式连接起来,使它们在 foreach 中被视为单个表达式。例如:
```
VAR1 := a b c
VAR2 := d e f
VAR3 := g h i
$(foreach var,$(VAR1) $(VAR2) $(VAR3),$(info $(var)))
```
这将输出:
```
a
b
c
d
e
f
g
h
i
```
相关问题
makefile foreach循环
Makefile中的foreach函数是用来做循环用的,类似于Unix标准Shell中的for语句或是C-Shell中的foreach语句。它的语法是:$(foreach <var>,<list>,<text>)。其中,<var>是一个临时的局部变量,<list>可以是一个表达式,<text>中一般会使用<var>这个参数来依次枚举<list>中的单词。每一次<text>会返回一个字符串,循环过程中,<text>的所返回的每个字符串会以空格分隔,最后当整个循环结束时,<text>所返回的每个字符串所组成的整个字符串(以空格分隔)将会是foreach函数的返回值。举个例子:names := a b c d,files := $(foreach n,$(names),$(n).o),$(names)中的单词会被挨个取出,并存到变量“n”中,“$(n).o”每次根据“$(n)”计算出一个值,这些值以空格分隔,最后作为foreach函数的返回,所以,$(files)的值是“a.o b.o c.o d.o”。
阅读全文