4 變數和不同的賦值方式

2022-07-17 19:33:13 字數 1446 閱讀 1543

變數的定義和使用

##變數定義

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中,變數沒有型別,不需...