运行 make 时附加编译器标志
Posted
技术标签:
【中文标题】运行 make 时附加编译器标志【英文标题】:Append compiler flags when running make 【发布时间】:2017-06-08 00:25:43 【问题描述】:我想在运行 make
时将标志附加到编译器标志,而不用任何方式更改 Makefile,例如
make CXX_FLAGS+='-DDEBUG'
上面将“+=”视为“=”,所以它不是正确的符号。
【问题讨论】:
【参考方案1】:您只需在 Makefile 中将变量修改为 override
一次。然后你就可以做你想做的事了。
这是一个例子,
生成文件:
override CFLAGS+=-g
app: main.c
gcc $(CFLAGS) -o app main.c
运行make:
$ make
gcc -g -o app main.c
在命令中将“-Wall”附加到 $CFLAGS:
$ make CFLAGS=-Wall
gcc -Wall -g -o app main.c
在这里工作正常。这是manual,您可以参考。
【讨论】:
如果订单很重要,请使用override CFLAGS := -g $(CFLAGS)
。
挑剔问题:假设我有一个定义 SKIP_FEATURE。如果已定义,我不想编译源文件 feature.cpp 和/或不链接 feature.o。我将如何做到这一点?以上是关于运行 make 时附加编译器标志的主要内容,如果未能解决你的问题,请参考以下文章