在 GNU makefile 中,可以使用 filter-out 从 CFLAG 中删除标志,如下所示:
CFLAGS:=$(filter-out -flag,$(CFLAGS))
但是,我不能让它与 FreeBSD makefile 一起工作。
FreeBSD 是否支持过滤?否则,我该怎么做才能从 makefile 中的 CFLAGS 中删除特定标志?
是的,FreeBSD 的 Makefile 中有类似filter-out的功能,但语法不同:
:Npattern 这与 `:M' 相同,但选择所有不匹配模式的单词。
从人制造。
使用示例:
CFLAGS= -foo -bar -flag
all:
@echo ${CFLAGS}
@echo ${CFLAGS:N-flag}
输出:
$ make
-foo -bar -flag
-foo -bar