所以我知道如何从命令行创建变量并存储值。
但通常情况下,我会这样输入命令:make run VAR="abc",VAR 将被分配新值“abc”
但是,如果我想做这样的事情 VAR="abc"make run,我该如何更改我的 make 文件?现在,如果我运行这个,VAR 仍然具有在 make 文件中创建时的初始值。
这是我的制作文件:
VAR = ""
.PHONY : build run
build : program.c
gcc -o prog -g program.c
run : build
./prog $(VAR)
最佳答案
当您编写 VAR = ""
时,您将覆盖 VAR
可能拥有的任何值(例如来自环境或命令行的值)。您可以改用条件赋值,如下所示:
VAR ?= ""
只有在尚未设置时才会设置VAR
。它相当于例如
ifeq ($(origin VAR), undefined)
VAR = ""
endif
关于command-line - 命令行参数 make 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31373921/