没有加 .ONESHELL 的时候,片段中的各行 shell 彼此独立。
加了 .ONESHELL 后,各行shell 可以看作一行 shell。
<1>
.PHONY: all
all: a
a:
t1=abc;export t1
@echo $$t1;
> make all
t1=abc;export t1
<2>
.ONESHELL:
.PHONY: all
all: a
a:
t1=abc;export t1
@echo $$t1;
> make all
t1=abc;export t1
echo $t1;
abc
https://www.cnblogs.com/gaojian/archive/2012/09/25/2701498.html
原文:https://www.cnblogs.com/lelin/p/11642726.html