Makefile filter-out 是什么
时间: 2024-02-22 14:57:14 浏览: 168
非常好的介绍makefile-陈皓.pdf
在 Makefile 中,`filter-out` 是一个函数,用于从一个字符串列表中过滤掉特定的字符串。它的语法如下:
```
$(filter-out pattern...,text)
```
其中,`pattern...` 是需要被过滤掉的字符串模式,可以使用通配符 `%`,`text` 是要进行过滤的原始字符串列表。
`filter-out` 函数会返回一个新的字符串列表,其中过滤掉了所有匹配 `pattern...` 的字符串。
下面是一个示例,演示如何使用 `filter-out` 从 Makefile 的文件列表中过滤掉所有以 `.pdf` 结尾的文件:
```makefile
# 定义文件列表
FILES := file1.txt file2.pdf file3.dat file4.pdf
# 过滤掉所有以 .pdf 结尾的文件
PDF_FILES := $(filter-out %.pdf, $(FILES))
# 打印过滤后的文件列表
all:
@echo $(PDF_FILES)
```
在上面的示例中,`PDF_FILES` 变量将只包含文件 `file1.txt` 和 `file3.dat`,因为 `file2.pdf` 和 `file4.pdf` 已经被过滤掉了。
希望这个解释能够帮助您理解 Makefile 中的 `filter-out` 函数。
阅读全文