Follow Excellent, Success will Chase you

0%

Makefile基础语法

Makefile语法

= := ?= +=

  1. = 是最基本的赋值
  2. := 是覆盖之前的值
  3. ?= 是如果没有被赋值过就赋予等号后面的值
  4. += 是添加等号后面的值

=

make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。

1
2
3
4
5
6
x = foo
y = $(x) bar
x = xyz

all:
echo "==: $y"

结果==: xyz bar

:=

表示变量的值决定于它在makefile中的位置,而不是整个makefile展开后的最终值。

1
2
3
4
5
6
x := foo
y := $(x) bar
x := xyz

all:
echo "==: $y"

结果==: foo bar

-------------本文结束感谢您的阅读-------------
  • 本文作者: Winddoing
  • 本文链接: https://winddoing.github.io/post/21058.html
  • 作者声明: 本博文为个人笔记, 由于个人能力有限,难免出现错误,欢迎大家批评指正。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!