读书人

怎么去掉${CFLAGS}其中一个FLAG

发布时间: 2013-09-28 10:01:20 作者: rapoo

如何去掉${CFLAGS}其中一个FLAG ?
如何去掉${CFLAGS}其中一个FLAG ?

上层Makefile中的CFLAGS包含了一个与本Makefile中冲突的一个FLAG,如何去掉其中一个呢?



上面是一个Makefile。

目的是删除CFLAGS中"my_flag=123456"这个字符串。

下面是make时指定CFLAGS的输出。

删除之前是带有my_flag=xxx的,删除之后就没有这一项了。

根据需要修改filter-out的参数就行了。

filter-out是makefile中的函数,你可以网上搜索一下用法 。
[解决办法]
Makefile


override CFLAGS:=$(filter-out -msoft-float,$(CFLAGS))

all:
@echo $(CFLAGS)

执行结果

$] CFLAGS="-O2 -Wall my_flag=xxx -msoft-float" make
-O2 -Wall my_flag=xxx

读书人网 >UNIXLINUX

热点推荐