Makefile——变量

<标题> <强>变量定义 符号
说明
参考

$()或$ {}

使用变量.SRC=https://www.yisu.com/zixun/main.c

gcc - c (SRC)美元- o主要

=一般变量赋值:=变量只能使用前面已经定义的变量。

SRC=https://www.yisu.com/zixun/main.c

OBJ:=(SRC)美元(INC)测试。c

test1 . n:行情)=

?=如果变量没有被定义过,则赋值,否则跳过该语句。

①SRC ?=主要。c

②SRC=https://www.yisu.com/zixun/test.c

SRC ?=主要。c


变量定义

符号说明参考()美元或

${}使用变量。

SRC=https://www.yisu.com/zixun/main.c

gcc - c (SRC)美元- o主要

=一般变量赋值:=变量只能使用前面已经定义的变量。

SRC=https://www.yisu.com/zixun/main.c

OBJ:=(SRC)美元(INC)测试。c

test1 . n:行情)=

?=如果变量没有被定义过,则赋值,否则跳过该语句。

①SRC ?=主要。c

②SRC=https://www.yisu.com/zixun/test.c

SRC ?=主要。c

变量的高级用法

表达说明参考美元(var: a=b)

将变量var中所有字符串一个结尾的替换成字符串b。

这里结尾的标志是空格或者结束符

SRC=https://www.yisu.com/zixun/test1.c test2。c test3。c

OBJ=$ (SRC: c=. o)

x=y

y=z

:=$ ((x)美元)

将变量的值当作变量

x=$ (y)
y=z
z=你好
:=$ ((x)美元)

Makefile自动化变量

符号说明参考$ @

1,规则中的目标文件集合。

2,在模式规则中,如果有多个目标,$ @为目标中模式定义的集合

目标:OBJ

@echo $ @

gcc - o目标OBJ

$ ?所有依赖目标的集合。

目标:其中obj1 methoda methoda obj3

@echo $ ?

@echo $ ^

@echo美元+

gcc - o目标其中obj1 methoda obj3

$ ^所有依赖目标的集合。美元+所有依赖目标的集合。

$ & lt;

1,规则的第一个依赖文件名。

2,如果是一个目标文件使用隐含规则来重建,则它代表由隐含规则加入的第一个依赖文件。

$ %

1,当规则的目标文件是一个静态库文件时,代表静态库的一个成员名。

2,如果目标不是静态库文件,其值为空。

$ *在模式规则和静态模式规则中,代表“茎”。茎”是目标模式中“%”所代表的
部分。


Makefile——变量