【问题标题】:gnu makefile filter a list of source files through a list of folders to ignoregnu makefile 通过要忽略的文件夹列表过滤源文件列表
【发布时间】:2019-01-14 18:41:18
【问题描述】:

假设我有以下变量:

SOURCES = folder1/a.c folder1/b.c folder2/c.c folder3/d.c folder3/e.c
FILTERS = folder2 folder3

现在我想设置一个只包含folder1/a.c folder1/b.c 的变量。我已经尝试过$(filter-out folder2%,$(SOURCES)) 并且确实删除了 unwatned folder2 项目。所以也许我可以以这种方式循环遍历过滤器?

或者有更好的方法吗?

【问题讨论】:

    标签: linux makefile gnu


    【解决方案1】:

    你可以使用:

    OUTPUT := $(filter-out $(addsuffix /%,$(FILTERS)),$(SOURCES))
    

    filter-out 可以采用多个过滤器并将它们全部应用。我建议您使用/% 而不是仅使用%,这样您就不会捕获恰好以目录名称开头的文件名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多