我有以下C代码:
file.c:
int i=VAR;
使用makefile编译:
CFLAGS =+ -DVAR=10
但是我不是仅使用“make”编译文件并依赖makefile中的变量,而是每次使用命令行编译程序时都想更改变量。
例如,我希望以下命令行起作用:
make CFLAGS=-DVAR=10
答案 0 :(得分:2)
首先,这种语法是错误的:
CFLAGS =+ -DVAR=10
我认为你的意思是+=
而不是=+
。其次,对于某些工作定义,您运行的命令应该有效,所以没有关于发生了什么的信息以及为什么它不是您想要的,我们无法帮助。
然而,如果是我,我会采用不同的方式;我会做这样的事情:
VAR := 10
CFLAGS += -DVAR=$(VAR)
然后当我想改变它时,我会跑:
make VAR=20