Makefile: A = "World" all: @echo $(A) Makefile: A = $B "World" B = "Hello" all: @echo $(A) ###--------------- 用“=”定义变量的时候,右边如果有变量,则这个变量的定义可以是整个Makefile文件中的任意位置 Makefile: B = "Hello" A := $B "World" all: @echo $(A) Makefile: A := $B "World" B = "Hello" all: @echo $(A) #--------------------- 用“:="进行变量的赋值时,如果右边有变量,那么只会使用在这条语句之前定义的变量,如果变量此时未定义,就默认这个变量为空 Makefile: B = "Hello" A ?= $B "World" all: @echo $(A) Makefile: A ?= $B "World" B = "Hello" all: @echo $(A) #----------------------- 正常赋值这方面来说,"?="是和"="一样使用 Makefile: A ="World" A ?= "Hello World" all: @echo $(A) #------------------------ 使用"?="进行赋值的时候如果该变量已经赋值过了,那么将跳过这一句,使用"="的时候,如果变量已经赋值过了,它会在进行一次赋值 |
|