Jay*_*ker 19 makefile environment-variables gnu-make
我正在使用GNU make,并且在项目中包含第三方库,如果CFLAGS在调用环境时在环境中定义了构建系统,则该系统会变得狂暴.我喜欢CFLAGS在我的环境中定义其他原因.正在从另一个makefile调用库的构建,所以我说例如:
的3rdParty:
$(MAKE) -f Makefile.3rdparty
但是我想确保CFLAGS在第三方Makefile上调用make时没有设置.我能找到的最近的事情就是说:
CFLAGS:=
但是这仍然留CFLAGS在环境中,它只是一个空字符串.除了做一些可怕的事情,比如说:
的3rdParty:
bash -c "unset CFLAGS; $(MAKE) -f Makefile.3rdparty"
是否有一种简单的方法可以CFLAGS从我的主要makefile中"取消设置" 变量,以便在调用第三方库时环境中根本不存在该变量?
P S*_*ved 25
以下不适合您吗?
unexport CFLAGS
3rdparty:
$(MAKE) -f Makefile.3rdparty
Run Code Online (Sandbox Code Playgroud)