簡單記錄這這幾天寫程序Makefile.am文件遇到的兩個問題,以后有遇到再補充
1. 調用的shell語句需要使用shell變量
在makefile文件里變量名用$符號來標識,形如$(var)或者${var},當變量名為一個字符時,也可以寫為$v,當我們要使用的shell要使用shell變量時,要用$$來標識,
如shell 命令為:
cat /etc/redhat_release |awk '{PRint $2}'
在makefile里的寫法則為:
$(shell cat /etc/redhat_release |awk '{print $$2}')
2. 當調用的shell命令中有小括號字符時
shell命令如:
cat /etc/redhat-release | awk -F '(' '{print $1}'
在Makefile里的寫法應為:
${shell cat /etc/redhat-release | awk -F '(' '{print $$1}'}
具體原因不清楚,沒有找到相關的資料,如果仍按之前的寫法則出現如下錯誤:
Makefile:2: *** unterminated call to function `shell': missing `)'. Stop.
新聞熱點
疑難解答