zoukankan      html  css  js  c++  java
  • makefile中的变量赋值

      在makefile中赋值方式有:'='、':='、'?='和'+='。

                A = a $(B)
                B = b
                all:
                    echo $(A)
                #运行结果:echo a b
                         a b                            

      这种赋值方式是没有先后顺序的,但是这种赋值方式可能会出现问题,例如递归定义时:A = $(A)  

                A := a $(B)
                B = b
                all:
                    echo $(A)
                # 运行结果:echo a
                          a

      这种赋值方式有先后顺序,只能使用已经定义的变量。

                A = a
                A ?= b
                B ?= c
                all:
                    echo $(A) $(B)
                #运行结果:echo a c
                         a c

      这种赋值是在询问A是否等于b,如果前边定义了A变量,那么前边定义时A的值是多少还是多少。如果前边没有定义,如B,就对其进行赋值。

                A = a
                A += b
                all:
                    echo $(A)
                #运行结果:echo a b
                         a b

      这种赋值就是在原有的定义上在添加。

      注意:

                #定义一个变量其值为空格
                nullstring :=
                blank_space := $(nullstring)#end of the line

      这样定义是有好处的。

  • 相关阅读:
    1组Alpha冲刺总结
    1组Beta冲刺4/5
    1组Beta冲刺5/5
    1组Alpha冲刺4/6
    1组Alpha冲刺总结
    1组Beta冲刺2/5
    1组Beta冲刺3/5
    1组Beta冲刺2/5
    1组Alpha冲刺4/6
    1组Alpha冲刺5/6
  • 原文地址:https://www.cnblogs.com/coolYuan/p/7852654.html
Copyright © 2011-2022 走看看