启动make
命令时覆盖变量的最佳方法是什么?
make PREFIX="/new_path"
PREFIX="/new_path" make
我怀疑它并不完全相同,因为在第一种情况下,覆盖被指定为make
命令的参数,而在第二种情况下(如果我猜得很好)我们使用shell定义来设置变量,然后调用命令make
。
答案 0 :(得分:1)
正如你所说,这取决于你的意思"最好"。两者都适用于不同的情况。
默认情况下,makefile变量赋值优先于环境变量设置,命令行参数覆盖makefile变量赋值。
因此,如果您想确定使用的设置,则应始终使用命令行:make PREFIX="new/path"
。如果要为makefile提供默认值(如果它还没有值),则应使用该环境。