1.makefile $$的使用
轉一篇博文
https://www.cnblogs.com/LiuYanYGZ/p/5438441.html
2.小總結
makefile代碼段1:
VAR=3
target: prerequsite1 prerequsite2
echo $VAR#(1)
VAR=4#(2)
echo $VAR#(3)
echo $$VAR#(4)
(1):在代碼段1中,(1)的結果是3,顯然makefile利用自己的變量將$VAR擴展成3之後傳遞給這個echo這個shell命令,shell執行的命令是echo 3
(4):makefile將$$VAR先執行一次擴展得到如下shell命令:
echo $VAR
然後交給shell去解釋執行,可是對於這個shell命令來說VAR是一個未定義的變量,因此輸出的結果就是個空行,也就是說VAR是在訪問一個shell命令內定義的變量,而非makefile的變量