关于makefile的=: =? =+区别
2015-10-25 20:55
204 查看
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
1、“=”
make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子:
x = foo
y = $(x) bar
x = xyz
在上例中,y的值将会是 xyz bar ,而不是 foo bar 。
2、“:=”
“:=”表示变量的值决定于它在makefile中的位置,而不是整个makefile展开后的最终值。
x := foo
y := $(x) bar
x := xyz
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
1、“=”
make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子:
x = foo
y = $(x) bar
x = xyz
在上例中,y的值将会是 xyz bar ,而不是 foo bar 。
2、“:=”
“:=”表示变量的值决定于它在makefile中的位置,而不是整个makefile展开后的最终值。
x := foo
y := $(x) bar
x := xyz
相关文章推荐
- 【机器学习算法】之决策树
- 公钥和私钥
- 工厂模式
- OOD沉思录 --- 导引
- TypeScript学习笔记(四):函数
- 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-18-Noise Layers
- 数据库范式
- 拓扑排序
- 嵌入式Linux根文件系统构建
- 《编程之法》练习题-1.1字符串的旋转
- mysql 性能优化方案
- ESP8266上的FreeRTOS初体验
- PyQt4 ShowHMDB show sqlite3 with QTableWidget summary
- Android入门:SDK介绍与安装选择
- 151025总结
- VC++/VS2010 Win32控制台程序 运行结束 dos窗口立刻消失/一闪而过 的解决方法
- MAC OS X 命令终端的颜色显示
- leetcode 88 ——Merge Sorted Array
- 常见浏览器bug(针对IE6及更低版本)及其修复方法
- ionic的start-y属性初始化页面