.ONESHELL:
define my_test =
cd /tmp
pwd
X=“hello $(pwd)”
echo “here is $X”
endef
test: ; @$(value my_test)
1,ONESHELL使得一次shell调用可以执行多条shell命令。
2,可执行多条命令行而不用额外的处理(我理解的是各个命令之间可以传递值)。
3,可以方便的在自己的命令行序列加入新的命令行。
4,命令行也需要以tab制表符开始,第一个命令行需要避免以特殊符号开头。
总之,就是支持一次shell调用可以执行多条shell命令行。