在启动时覆盖变量的不同方法

时间:2015-03-31 12:38:20

标签: makefile environment-variables override

启动make命令时覆盖变量的最佳方法是什么?

  1. make PREFIX="/new_path"
  2. PREFIX="/new_path" make
  3. 我怀疑它并不完全相同,因为在第一种情况下,覆盖被指定为make命令的参数,而在第二种情况下(如果我猜得很好)我们使用shell定义来设置变量,然后调用命令make

1 个答案:

答案 0 :(得分:1)

正如你所说,这取决于你的意思"最好"。两者都适用于不同的情况。

默认情况下,makefile变量赋值优先于环境变量设置,命令行参数覆盖makefile变量赋值。

因此,如果您想确定使用的设置,则应始终使用命令行:make PREFIX="new/path"。如果要为makefile提供默认值(如果它还没有值),则应使用该环境。