Makefile 中:= , ?=,+= ,= 的区别:
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值
= 和:=的区别是:
-
= 表示:make 将整个makefile 展开后,再决定变量的值。变量的值是整个makefile 最后被指定的值。
x = foo y = $(x) bar x = xyz //在上例中,y的值将会是 xyz bar ,而不是 foo bar
-
:= 表示变量的值决定于它在makefile中的位置,而不是整个makefile 展开后的最终值
x := foo y := $(x) bar x := xyz //在上例中,y的值将会是 foo bar ,而不是 xyz bar 了。
参考网址:makefile 赋值方法
make install:
install:
install -d $(bindir) // 目录确认
install -m 0755 hello $(bindir) // 将hello 拷贝到 $ (bindir) 目录下,并设定权限为0755.