【Makefile学习记录4】变量和不同的赋值方式
既然makefile是一种脚本程序,那么就要支持程序设计语言中通用的概念和操作。所以必然 也会支持定义变量和赋值的操作。但是不同于C语言中,先声明变量类型、定义变量名字然后赋值。在makefile中不需要声明变量的类型,makefile中变量只有一种类型,只代表文本数据(字符串)。
1、makefile中变量命名规则为:
变量的定义和使用:
例如在makefile中定义变量CC、TARGET,其中使用$引用变量的值:
程序运行的结果为:
注:在makefile编写过程中,重复的符号尽量使用变量来代替。要习惯于makefile中使用变量。
2、makefile中变量赋值方式:(不同的赋值方式意义不同)
- 简单赋值(:=)
- 递归赋值(=)这种赋值方式影响的变量是多个的。
- 条件赋值(?=)适用于第一次变量的时候使用。
- 追加赋值(+=)
- 在makefile中使用变量之前可以不用定义,引用结果为空值。
- 递归赋值时,与其相关的变量的都会随之改变。(在写makefile时,尽量避免递归赋值)
- 追加赋值时,会在原来值和新值之间添加一个空格。若无原先值,则新值前加空格。
- 编写makefile时,尽量使用简单赋值。
运行结果为: