如何在Makefile中过滤文件名列表?

时间:2014-08-17 13:39:11

标签: makefile

有没有办法根据文件存在的条件过滤Makefile中的文件名列表?

e.g。我有一个名单:“dir1 / include”“dir2 / include”“dir3 / include”(“dir2 / include”不存在)。

此列表由addsuffix函数

创建
 #simplified version:
 define include_dir
    $(addsuffix /include , dir1 dir2 dir3)
 endef

我需要检查所有这些名称是否确实存在并返回仅包含现有文件的列表 来自include_dir call

“dir1 / include”“dir3 / include”

这样做的正确方法是什么?

非常感谢提前

1 个答案:

答案 0 :(得分:3)

使用wildcard只会在路径存在时返回路径。

因此,此宏将仅包含现有目录:

define include_dir
    $(wildcard $(addsuffix /include , dir1 dir2 dir3))
endef