1、基本大全教程:
2、= := ?= +=四個賦值的區別:
= 是最基本的賦值
:= 是覆蓋之前的值
?= 是如果沒有被賦值過就賦予等號後面的值
+= 是新增等號後面的值
其中 『=』和『:+』的區別是 『:=』立馬賦值, 『=』是整個makefile檔案讀取完後賦值。
1、「=」
make會將整個makefile展開後,再決定變數的值。也就是說,變數的值將會是整個makefile中最後被指定的值。看例子:
x = foo
y = $(x) bar
x = xyz
在上例中,y的值將會是 xyz bar ,而不是 foo bar 。
2、「:=」
「:=」表示變數的值決定於它在makefile中的位置,而不是整個makefile展開後的最終值。
x := foo
y := $(x) bar
x := xyz
在上例中,y的值將會是 foo bar ,而不是 xyz bar 了。
參考: makefile檔案編寫
hello.c include include function.h int main function.c includeint fun1 int fun2 int fun3 function.h ifndef fun h define fun h int fun1 void int fun2 v...
Makefile檔案編寫
main3.c 1 include 2 include static lib.h 3 include fun.h 4 5int main void static lib.h和 1 extern int add int a,int b 2 extern int sub int a,int b 3 ex...
makefile檔案編寫
make f makefile檔名 選項 巨集定義 目標 idirname 指定被包含的makefile所在目錄 w 如果make在執行時改變目錄,列印當前目錄名 d 列印除錯資訊 k 用該選項,即使make程式遇到錯誤也會繼續向下執行 1 顯式規則 用於描述系統中模組之間的相互依賴關係,以及產生目...