一.赋值
在GNU make中对变量的赋值有两种方式:延迟变量、立即变量。区别在于它们的定义方式和扩展时的方式不同,前者在这个变量使用时才扩展开,意即当真正使用时这个变量的值才确定;后者在定义时它的值就已经确定了。使用“=”、“?=”定义或使用define指令定义的变量时延迟变量;使用“:=”定义的变量是立即变量。需要注意的一点是“?=”仅仅在变量还没有定义的情况下有效,即“?=”用来定义第一次出现的延迟变量。
对于附加操作符“+=”,右边变量如果在前面使用(:=)定义为立即变量则它也是立即变量,否则均为延时变量。
二. 函数
未完待续!
------------------------------------------------------------------------------------------------------------------
作者:庞辉
出处:
本文基于许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名(包含链接).