foreach 函数
这个函数是用来做循环用的,语法为
$(foreach <var>,<list>,<text>)
这个函数的意思是,把参数<list>中的单词逐一取出放到参数<var>所指定的变量中,然后再执行<text>所包含的表达式。每一次<text>会返回一个字符串,循环过程中,<text>的所返回的每个字符串会以空格分隔,最后当整个循环结束时,<text>所返回的每个字符串所组成的整个字符串(以空格分隔)将会是 foreach 函数的返回值。
所以,<var>最好是一个变量名,<list>可以是一个表达式,而<text>中一般会使用<var>。
示例
names:=a b c d
files:=$(foreach n,$(names),$(n).o)
.PHONY:all
all:
@echo $(files)
最后输出的结果为a.o b.o c.o d.o,其中变量n为临时变量,作用域为foreach函数中。
if函数
if函数与之前讲的条件语句——ifeq等类似。语法如下
$(if <condition>,<then-part>)
或是
$(if <condition>,<then-part>,<else-part>)
if函数的返回值根据condition,如果<condition>为真&