Makefile中几种变量赋值运算符:
- = :最简单的赋值
- := :一般也是赋值
- 以上这两个大部分情况下效果是一样的,但是有时候不一样。
- 用 = 赋值的变量,在被解析时他的值取决于最后一次赋值时的值,所以看变量引用的值时不能只往前面看,还要往后面看。
- 用 := 来赋值的,则是就地直接解析,只用往前看即可。
- ?= : 如果变量前面并没有赋值过则执行这条赋值,如果前面已经赋值过了则本行被忽略。
- += 用来给一个已经赋值的变量接续赋值,意思就是把这次的值加到原来的值的后面,有点类似于strcat
- 在shell makefile等文件中,可以认为所有变量都是字符串,+= 就相当于给字符串 strcat 接续内容
- +=续接的内容和原来的内容之间会自动加一个空格隔开