add_if_exists = $(foreach d,$(1),$(if $(wildcard $(srctree)/$(d)),$(d) ,))
时间: 2023-11-16 17:07:19 浏览: 66
find_if的例子
这是一个 Makefile 中的函数,其作用是检查指定的目录列表中是否存在相应的目录,如果存在则将该目录添加到新的列表中返回。
具体来说,它接受一个目录列表作为第一个参数 $(1),使用 foreach 循环遍历每个目录 $(d)。对于每个目录,使用 wildcard 函数检查该目录是否存在,如果存在则返回目录名 $(d),否则返回空字符串。最后,使用 if 函数判断是否返回了非空字符串,如果是,则将该目录添加到新的列表中返回,否则不添加。
例如,假设当前目录下存在 dir1 和 dir2 两个目录,而 dir3 不存在,则调用 $(call add_if_exists,dir1 dir2 dir3) 将返回 "dir1 dir2"。
阅读全文