Makefile細碎知識點記錄

2022-09-20 20:24:12 字數 1265 閱讀 4698

由於有些規則用的少,記不住,但還是時不時能用到,開個記錄帖記一下這些零散的規則。

參考文件:跟我一起學makefile

1.忽略某些檔案

-include
2.環境變數 makefiles

如果當前環境中定義了該變數,make 會把該變數當作類似 include 的動作,但該變數引入的目標不會起作用,如果環境變數中定義的檔案發現錯誤,make 會忽略。可能會導致一些未知問題

3.關鍵字 wildcard、patsubst

4.靜態模式

可以更容易定義多目標的規則。

objects = foo.o bar.o

all: $(objects)

$(objects): %.o: %.c

$(cc) -c $(cflags) $< -o $@

目標從 objects 中獲取,$《表示第乙個檔案,

$@表示目標集。

5.echo顯示命令

格式與 bash 有點區別,@echo 需要列印的命令。

make -n 可以只列印不執行命令。

6命令執行

如果第二條命令在第一條命令的基礎上執行,需要在同一行用分號隔開。

7.變數

—用「 = 」操作符時,變數可以用後面的變數進行定義。

cflags = $(include_dirs) -o

include_dirs = -ifoo -ibar

cflags 展開後是 -ifoo -ibar -o

—用「:」操作符時,變數不能用後面的變數進行定義。

—「?=」操作符表示,如果之前定義過,就不定義,否則定義。

8.變數值的替換

$(var : a = b),將變數中所有以 a字串 結尾的 a字串替換成 b字串

輸出:

輸出:9.條件判斷

—ifdef 和 ifndef,同 c 語言。

—ifeq 和 ifneq,語法格式:

ifeq (var1, var2)

else

endif

10.函式

如果有什麼需要用的或者看不懂的函式可以先從這個鏈結裡找找有沒有介紹。

git細碎知識點

git可以使用linux命令 git的圖形介面gitk基於git的源 託管平台 github 碼雲 coding readme.md檔案是專案說明檔案,可以顯示在專案的首頁 暫存區是在.git檔案中 如果檢視乙個檔案狀態的時候,顯示 use git add 就說明這個檔案還沒有被跟蹤過 在乙個分支新...

SQL學習筆記2 細碎知識點

presto文件 1 注意 1 sql大小寫不敏感 2 sql語句可以寫一行,也可以寫多行 3 關鍵字不能縮寫也不能分行 4 各子句一般要分行寫 5 使用縮排提高語句的可讀性 2 算數運演算法 2.1 數字型別 數字型別可以使用加減乘除4種運算子。例 select 8 4 from dual dua...

makefile知識點總結

目錄 粗略的makefile的規則 使用流程 示例1 使用技巧 1.使用變數 2.make會自動推導 target prerequisites command target是目標檔案 冒號後面是以來檔案 1.在乙個名字為 makefile 或者 makefile 的檔案中寫出依賴關係 心得體會 gc...