日期:2014-05-16  浏览次数:20740 次

请问一个Makefile实现类似 -= 的问题
比如我在 config.mk(一个公用的配置文件)定义了 CXXFLAGS = -Wall -fpermissive -D_REENTRANT -fPIC -fvisibility=hidden -fvisibility-inlines-hidden

每个.so库的Makefile文件都有 include config.mk

但是在某一个库的Makefile中,我又想去掉 CXXFLAGS 中的 -fvisibility=hidden -fvisibility-inlines-hidden 这两个编译选项, 请问有没有办法实现类似 
CXXFLAGS -= -fvisibility=hidden -fvisibility-inlines-hidden
这样的功能呢?

如果变通一下,定义 CXXFLAGS_REMOVE = -fvisibility=hidden -fvisibility-inlines-hidden
然后 foreach CXXFLAGS_REMOVE的设置,在 CXXFLAGS 中去掉相应的项,然后得到一个新的 CXXFLAGS 。

CXXFLAGS := $(foreach flag, $(CXXFLAGS_REMOVE), <...>)

请问这里应该怎么做呢?谢谢!


------解决方案--------------------
在特殊的环境中重新定义行不?