我正在使用GNU-make Makefile构建一个C项目,其中包含几个目标(all
、clean
和一些特定于项目的目标)。在调试过程中,我希望在不永久编辑Makefile的情况下将一些标志附加到单个构建中(例如,添加调试符号或设置预处理器标志)。
在过去,我已经这样做了(使用调试符号示例):
make target CFLAGS+=-g
不幸的是,这不是附加到CFLAGS
变量,而是清除它并停止它的编译。有没有一种干净的方法可以做到这一点,而不是定义某种附加到CFLAGS
和LDFLAGS
末尾的伪变量
发布于 2010-01-25 07:37:42
查看override directive。您可能需要修改makefile一次,但它应该可以执行您想要的操作。
makefile示例:
override CFLAGS += -Wall
app: main.c
gcc $(CFLAGS) -o app main.c
命令行示例:
$ make
gcc -Wall -o app main.c
$ make CFLAGS=-g
gcc -g -Wall -o app main.c
https://stackoverflow.com/questions/2129391
复制相似问题