EXTRA_CFLAGS
的预期用途是什么?
我在某些情况下看到了它,但是我从来不明白为什么不只是将标志附加到CFLAGS
而不是EXTRA_CFLAGS
。
我首先认为与make如何定义其隐式规则有关,但事实并非如此。据我了解,make隐含规则中没有使用EXTRA_CFLAGS
,对吗?
如有任何启发,我将不胜感激。
最佳答案
嗯,这不是标准make或内置make规则的任何部分,因此这只是您惯常使用的一些makefile的约定。之所以将其作为单独的标志完成,是因为您可以在命令行上使用它:
make EXTRA_CFLAGS=-O3
命令行变量分配会覆盖makefile中变量的任何设置,因此附加操作无效。那是:
$ cat Makefile
CFLAGS += -Dfoo
all: ; @echo '$(CFLAGS)'
$ make CFLAGS=-Dbar
-Dbar
$ make CFLAGS+=-Dbar
-Dbar
两者都将显示
-Dbar
,而不是-Dfoo -Dbar
。这就是为什么它是一个单独的标志。在自动制作环境中,它们显式保留
CFLAGS
供用户在命令行上提供,并且所有“正常”标志都放入其他变量中。
关于makefile - EXTRA_CFLAGS的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27862627/