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