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