8.轉換文本函數

本系列文章均翻譯自make官方文檔:make Manual,github同步項目:question

不能被Automake所識別。

8.9 value

語法:$(value \*variable\*)
variable是變量的名字,而不是其引用。
使用變量的值,值不會被擴展。

FOO = $PATH

all:
        @echo $(FOO)
        @echo $(value FOO)

第一行輸出是ATH,以爲*PmakeP*被擴展爲make變量了;第二行輸出纔是*PATH*環境變量的值。

note:當變量已經被擴展了,那麼該函數不會起作用。

8.9 eval

允許你定義一個新的非常量makefile構造:計算其它變量和函數的結果。

eval的參數被擴展,擴展的結果會被解析爲makefile的語法。擴展結果可以定義新的make變量、目標、隱含或明確的規則、etc.

eval的結果總是空字符串。

eval的參數實際上被擴展兩次;第一次的擴展結果將在解析爲makefile語法的時候再次被擴展。
這意味着你需要提供額外的級別來使用$字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章