命令行参数make file

时间:2015-07-13 00:28:27

标签: command-line makefile command-line-arguments

所以我知道如何从命令行创建变量和存储值。

但通常情况下,我会这样输入命令:make run VAR =" abc&#34 ;, VAR将被分配新值" abc"

然而,如果我想做类似这样的事情VAR =" abc" make run,我该如何更改make文件?现在,如果我运行它,VAR在make文件中创建时仍然具有初始值。

这是我的make文件:

VAR = ""

.PHONY : build run

build : program.c
   gcc -o prog -g program.c

run : build
   ./prog $(VAR)

2 个答案:

答案 0 :(得分:2)

当您编写VAR = ""时,您将覆盖VAR可能具有的任何值(例如,来自环境或命令行)。您可以使用条件赋值,如下所示:

VAR ?= ""

仅当VAR未设置时才设置ifeq ($(origin VAR), undefined) VAR = "" endif 。它相当于例如。

onDragListener

答案 1 :(得分:0)

VAR = ${VAR}

如果我没记错的话