【问题标题】:Remove a flag from CFLAGS in FreeBSD makefile从 FreeBSD makefile 中的 CFLAGS 中删除一个标志
【发布时间】:2020-03-24 02:53:12
【问题描述】:

在 GNU makefile 中,可以使用 filter-out 从 CFLAG 中删除标志,如下所示:

CFLAGS:=$(filter-out -flag,$(CFLAGS))

但是,我无法使用 FreeBSD makefile 使其工作。

FreeBSD 支持过滤吗?否则,我该怎么做才能从 makefile 中的 CFLAGS 中删除特定标志?

【问题讨论】:

    标签: makefile freebsd cflags bmake


    【解决方案1】:

    是的,FreeBSD 的 Makefile 中有类似 filter-out 的功能,但语法不同:

    :N模式 这与 `:M' 相同,但会选择所有不匹配的单词 模式。

    来自man make

    使用示例:

    CFLAGS= -foo -bar -flag
    
    all:
        @echo ${CFLAGS}
        @echo ${CFLAGS:N-flag}
    

    输出:

    $ make
    -foo -bar -flag
    -foo -bar
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 2021-07-20
      相关资源
      最近更新 更多