https://cloud.tencent.com/developer/ask/199662
$ cat Makefile all: echo VAR is ${HOME} echo VAR is $${HOME}
$ make echo VAR is /home/abc VAR is /home/abc echo VAR is ${HOME} VAR is /home/abc
为什么echo VAR is ${HOME}
语法在Makefile中有效?我想要使用你必须使用的shell变量$${HOME}}
是或否最好用来$$
明确。但是,环境变量有一个特殊规则:
make中的变量可以来自运行make的环境。在启动时查看的每个环境变量都将转换为具有相同名称和值的make变量。但是makefile中的显式赋值或命令参数会覆盖环境。(如果指定了`-e'标志,则环境中的值将覆盖makefile中的赋值。请参阅选项摘要。但不建议这样做。)