gpt4 book ai didi

c - 通过命令行附加到 GNU make 变量

转载 作者:太空狗 更新时间:2023-10-29 16:17:19 24 4
gpt4 key购买 nike

我正在使用 GNU-make Makefile 构建一个包含多个目标(allclean 和一些项目特定目标)的 C 项目。在调试过程中,我想在不永久编辑 Makefile 的情况下将一些标志附加到单个构建(例如添加调试符号或设置预处理器标志)。

在过去,我是这样做的(使用调试符号示例):

make target CFLAGS+=-g

不幸的是,这不是附加到 CFLAGS 变量,而是清除它并停止编译。有没有一种干净的方法可以做到这一点,而无需定义附加到 CFLAGSLDFLAGS 末尾的某种虚拟变量?

最佳答案

查看 override directive .您可能需要修改 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

关于c - 通过命令行附加到 GNU make 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com