在我的makefile文件中,我有一个变量FOO
:
FOO = /path/to/bar
Run Code Online (Sandbox Code Playgroud)
在makefile调用期间是否可以覆盖此变量?如下所示:
FOO=/path/to/foo make all
Run Code Online (Sandbox Code Playgroud)
Eta*_*ner 15
变量获得赋值的方式在 GNU make Manual的How Variables Get their Values部分指定。
变量可以通过几种不同的方式获取值:
因此,正如三十二上校所指出的,您可以在命令行上覆盖 makefile 中设置的变量。
你也可以,如果你希望这是一个你想要永久设置的变量,使用?=
赋值,然后将使用该变量的环境值。
与Var=Value
指定目标之前一样指定它们,例如make FOO=/path/to/foo all
。
$ cat Makefile
Foo = asdf
all:
echo $(Foo)
$ make all
echo asdf
asdf
$ make Foo=bar all
echo bar
bar
Run Code Online (Sandbox Code Playgroud)