makfile 中 變數的含義

2021-06-18 04:39:54 字數 839 閱讀 2925

例子:

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 儲存退出 賦予指令碼執行許可權...