20230425Makefile变量

一、变量基础

<variable_name>=<value>

<variable_name>:表示变量名,可以由任意字符,包括字母、数字和下划线,但第一个字符必须是字母,不能包含特殊符号,区分大小写
<value>:表示变量的值

#引用方式
$(<variable_name>)

示例↓

CFLAGS=-g -Wall
gcc $(CFLAGS) -c -o main.o main.c

变量也可以在运行过程中改变赋值

<variable_name>:=<value>
<variable_name>?=<value>

":="表示覆盖式赋值,即覆盖原先的变量
“?=“表示条件式赋值,即变量不存在时,该语句会为变量赋值
如果要使用”$“符号本身,则需要使用”$$”
"()“也可以用”{}"替换

二、变量替换

在Makefile中,可以使用变量值的替换来修改变量中保存的字符串

1、"$(var:a=b)"

将变量var中的所有以a结尾的字符串替换成以b结尾的对应字符串(结尾表示所有空格和结束符)

2、"$(var: a:=b)"

将变量var中的所有以a结尾的字符串替换成以b结尾的对应字符串,并将原始变量var中的内容替换成修改后的内容

3、"${var/a/b}"

将变量var中第一次出现的a字符串替换成b字符串

4、"${var//a/b}"

将变量var中所有a字符串替换成b字符串

foo:=a.o b.o c.o
#下两者等价 第二个使用了静态模式%
bar:=$(foo:.o=.c)
bar:=$(foo:%.o=%.c)

上述示例中,定义了一个"$(foo)“变量,再把把”$(foo)“中所有以”.o"字符结尾的字符串全部替换成".c

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值