makefile 中=与:=的差别

  1、“=”

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

        x = foo
        y = $(x) bar
        x = xyz

  在上例中,y的值将会是 xyz bar ,而不是 foo bar 。

  2、“:=”

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

        x := foo
        y := $(x) bar
        x := xyz

  在上例中,y的值将会是 foo bar ,而不是 xyz bar 了。

posted on 2017-09-15 11:39  沐浴凌风  阅读(313)  评论(0编辑  收藏  举报

导航