例子:
dep:
sed '/\#\#\# dependencies/q' < makefile > tmp_
dep:
sed '/\#\#\# dependencies/q' < makefile > tmp_make
(for i in init/*.c;do echo -n "init/";$(cpp) -m $$i;done) >> tmp_make #
cp tmp_make makefile
(cd fs; make dep)
(cd kernel; make dep)
(cd mm; make dep)
其中的 $$i 好長時間讓我無法理解,最近看到乙個關於 makefile 的文件, 它的解釋是這樣的:
出現在規則命令列中
shell
變數(一般為執行命令過程中的臨時變數,它不屬於
makefile
變數,而是乙個
shell
變數)引用使用
shell
的「$tmp
」格式。
這也就是說, 在 (for i in init/*.c;do echo -n "init/";$(cpp) -m $$i;done) >> tmp_make
中的 i 是乙個 shell 臨時變數。在 shell 是引用變數與makefile中引用變是一樣也是用 $符。所以 $i也就代表的是乙個 shell 對i變數的引用。
那麼再在makefile中引用這個 shell變數,所以就成了 $($i)。而在makefile中可以將()去掉,最終就變成了 $$i.
希望對 $$i 這種方式迷惑的人有所幫助 :)
如何在makfile中檢視變數的值
在makefile中檢視變數的取值是多少應該是乙個比較麻煩的問題,但是本大神自己研究出乙個十分方便的方法.這個方法十分簡單。現在介紹如下 如果在乙個十分複雜龐大的makefile檔案中,有個地方用到乙個變數src file,你很想知道makefile執行到此處的時候這個變數的值為多少。那麼你可以在這...
Android中makfile的隨記
什麼是makefile?也許非常多winodws的程式設計師都不知道這個東西,由於那些windows的ide都為你做了這個工作,但我認為要作乙個好的android底層程式設計師。makefile還是要懂。特別在unix下的軟體編譯,你就不能不自己寫makefile了,會不會寫makefile,從乙個...
Linux中變數 , , 0, 1, 2的含義
我們先寫乙個簡單的指令碼,執行以後再解釋各個變數的意義 touch variable vi variable 指令碼內容如下 bin sh echo number echo scname 0 echo first 1 echo second 2 echo argume 儲存退出 賦予指令碼執行許可權...