没有加 .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

posted on 2019-10-09 16:41  春风一郎  阅读(420)  评论(0)    收藏  举报