Makefile foreach函数

1、语法

$(foreach var , list, text)

函数解释:把参数list中的单词逐一取出来放到var所指的变量中,然后再执行text所包含的表达式。每一次text会返回一个字符串,循环过程中,text所返回的每一个字符串以空格隔开。最后结束循环时,text所返回的每个字符串所组成的整个字符将会是foreach函数的返回值。
例子:
‘’’
names: = test main log caffe
files := $(foreach n , $(name), $(n).o )
‘’’
输出files的值为:“test.o main.o log.o caffe,o”

使用举例:
删除编译files变量内的所有可执行文件时产生的.o文件

files=main.exe ./a/a.exe b.exe
all:
    echo $(files);
    rm -f $(foreach i,$(shell echo $(files) | sed s/.exe//g),$(i).o)

猜你喜欢

转载自blog.csdn.net/FPGATOM/article/details/84173094