GNU Make 學習筆記(一)

2021-04-12 17:18:52 字數 684 閱讀 1689

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這樣一套基於搜尋引擎的營銷思路,為 提供生態式的自我營銷解決方案,讓 在行業內佔據領先地位,從而獲得品牌收益。研究...