變數的定義和使用
##變數定義
cc := gcc
target := hello.out
##變數使用
$(target) : func.o main.o
$(cc) -o $(target) func.o main.o
makefile 中變數的賦值方式
x := foo
y := $(x)b
x := new
.phony : test
test :
@echo "x => $(x)"
@echo "y => $(y)"
##執行結果
x => new
y => foob
遞迴賦值(=
)
#code1
x = foo
y = $(x)b
x = new
.phony : test
test :
@echo "x => $(x)"
@echo "y => $(y)"
#執行結果
x => new
y => newb
#code2
a = $(b) #b還沒有被定義,所以a的值為空
b = $(c) #c還沒有被定義,所以b的值為空
c = hello-makefile
.phony : test
test :
@echo "a => $(a)"
@echo "b => $(b)"
@echo "c => $(c)"
##執行結果
a => hello-makefile
b => hello-makefile
c => hello-makefile
條件賦值(?=
)
x := foo
y := $(x)b
x ?= new
.phony : test
test :
@echo "x => $(x)"
@echo "y => $(y)"
##執行結果
x => foo
y => foob
追加賦值(+=
)
x := foo
y := $(x)b
x += $(y)
.phony : test
test :
@echo "x => $(x)"
@echo "y => $(y)"
##執行結果
x => foo foob
y => foob
第4課 變數和不同的賦值方式
1 makefile 中支援程式語言中變數的概念 2 makefile 中的變數只代表文字資料 字串 3 makefile 中的命名規則 變數名可以包含字元 數字 下劃線 不能包含 或 變數名大小寫敏感 演示變數的使用23 cc gcc 4target hello.out 56 target mai...
第4課 變數和不同的賦值方式
1 makefile 中支援程式語言中變數的概念 2 makefile 中的變數只代表文字資料 字串 3 makefile 中的命名規則 變數名可以包含字元 數字 下劃線 不能包含 或 變數名大小寫敏感 演示變數的使用23 cc gcc 4target hello.out 56 target mai...
10 變數的賦值方式
系統已經定義了一些系統變數,如 echo uid echo user echo pwd.想看到所有的環境變數,用 env 如果乙個專案需要拆分成許多小指令碼,可以在其中乙個指令碼中定義一些全域性性的變數,然後在別的指令碼中用點 或 source執行,執行後就可以引用。shell中,變數沒有型別,不需...