Makefile之“=”、":="、“+=”、“?=”
2024-10-21 18:36:08
Makefile之“=”、":="、“+=”、“?=”中几个的区别:
1.”=“符号
=表示个变量赋值;
注意:
当变量A被赋值给变量B时(B=A),这里A可以的这条指令之前定义的,也可以是这条指令之后定义的;
但:最终变量B的值取决于Makefile最后的赋值;
例如:
x =
y = $(x)
x =
all:
ehco $(y)
最后输出的结果是2
2.":="符号
:=也是变量赋值符号;
注意:
当变量A被赋值给变量B时(B=A),这里变量A必须是这条指令之前定义的;
例子:
B := $(A) bar
A := MY
all:
@echo $(B)
输出的结果是:bar
B = $(A) bar
A = MY
all:
@echo $(B)
输出的结果是:MY bar
这就是“=”和“:=”的区别;
3.“+=”符号
符号意义:继续添加等号后面的值
4.“?=”符号
B ?= A
符号意义:变量B没有被定义,则执行赋值;
变量B如果在这指令之前已经被定义,则这条语句不执行;
A =3
B = 2
B ?= $(A)
all:
echo $B
输出的结果是2
A =
B ?= $(A)
all:
echo $B
输出的结果是3
最新文章
- 管理系统-------------SSH框架书写登录和显示用户
- 【T电商 1】Nginx服务器搭建
- Ps 之路 更改前景色
- gitlab&;fengoffice的ldap配置
- mysql命令分类(DML、DDL、DCL)
- 修改linux文件/文件夹权限
- 线程控制之线程和fork
- 用dubbo+zookeeper+spring搭建一个简单的http接口程序
- freemark页面中获取list循环中的counter
- ice 有道德的黑客!
- JSP基本语法--实例演练
- Tp5.0 PHPMailer邮件发送
- 可以用 Python 编程语言做哪些神奇好玩的事情?
- 微信小程序 登录流程规范解读
- ElasticSearch入门 附.Net Core例子
- 01背包 || BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草 || Luogu P2925 [USACO08DEC]干草出售Hay For Sale
- vim字符查找和替换
- Python shutil 模块
- wpgcms---流程控制
- JavaEE Servlet 学习笔记