Makefile中的 等常見的符號解析

2021-10-23 14:14:44 字數 624 閱讀 8930

之前學過一些makefile,但是長時間不看,裡面的符號又不少,慢慢就忘記了,這次在看makefile檔案,就順帶整理一些常用的符號,以後查詢起來也方便。

**$@**表示目標

**$^**表示所有的依賴

**$<**表示第乙個依賴

:=即時賦值

?=延時賦值

+=附加

例如:

cc = gcc #延時變數賦值,當用到cc的時候再給它賦gcc值

cur = -o0 -g -wall

main: main.c test.c

可表示為:$(cc) $(cur) -o $@ $^

即:gcc -o0 -g -wall main main.c test.c

%.o : %.c

gcc -c -o $@ $<

#只有乙個依賴

a:=abc#即時定義變數,在定義時就確定了a=abc

b=abcd

b?=1234#因為在上一行已經定義過b的值了,所以可以忽略此處b的定義,即b=abcd;如果上邊沒有定義b的值,此處是第一次定義b的話,則b=1234

Makefile中wildcard等關鍵字的使用

在makefile規則中,萬用字元會被自動展開。但在變數的定義和函式引用時,萬用字元將失效。這種情況下如果需要萬用字元有效,就需要使用函式 wildcard 它的用法是 wildcard pattern 在makefile中,它被展開為已經存在的 使用空格分開的 匹配此模式的所有檔案列表。如果不存在...

Makefile中override 指示符

通常在執行make時,如果通過命令列定義了乙個變數,那麼它將替代在makefile中出現的同名變數的定義。就是說,對於乙個在makefile中使用常規方式 使用 或者 define 定義的變數,我們可以在執行make時通過命令列方式重新指定這個變數的值,命令列指定的值將替代出現在makefile中此...

C 中int,string等常見型別的轉換

初學c 總結下在實踐中對於幾種常見內建型別轉換的理解吧。1 int型與string型的互相轉換 最佳實踐 int型轉string型 cpp view plain copy void int2str const int int temp,string string temp string型轉int型 ...