gnu make 中有 7 個核心的自動變數 (automatic variable):
$@:工作目標的檔名
$%:archive檔案成員結構中的檔名元素
$<:第乙個必要條件的檔名
$?:時間戳在工作目標之後的所有必要條件,並以空格隔開這些必要條件
$^:所有必要條件的檔名,並以空格隔開這些檔名,不包含重複的檔名
$+:同 $^,但包含重複的檔名
$*:工作目標的主檔名,不要在規則以外使用此變數
以上變數都具有兩個變體,
1. 附加字母 d 只會返回值的目錄部分,例如 $(@d),$(all: file1.txt file2.txt file1.txt
@echo $@
@echo $<
@echo $?
@echo $^
@echo $+
在我的 shell 中執行結果如下:
lijiangshui@debian:~$ ls
file1.txt file2.txt makefile
lijiangshui@debian:~$ make all
allfile1.txt
file1.txt file2.txt
file1.txt file2.txt
file1.txt file2.txt file1.txt
GNU make學習筆記
make是乙個命令工具,它解釋makefile中的規則。make通過比較對應檔案 規則的目標和依賴,的最後修改時間,來決定哪些檔案需要更新 那些檔案不需要更新。對需要更新的檔案make就執行資料庫中所記錄的相應命令 在make讀取makefile以後會建立乙個編譯過程的描述資料庫。此資料庫中記錄了所...
學習筆記一
lisp 最重要的一種執行模式之一 repl that endless cycle of reading,evaluating,and printing is why it s called the read eval print loop or repl.第乙個lisp程式 在repl模式下執行l...
學習筆記 一
什麼是seo?搜尋引擎優化 search engine optimization,簡稱seo 是一種利用搜尋引擎的搜尋規則來提高目的 在有關搜尋引擎內的排名的方式。深刻理解是 通過seo這樣一套基於搜尋引擎的營銷思路,為 提供生態式的自我營銷解決方案,讓 在行業內佔據領先地位,從而獲得品牌收益。研究...