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

      这样定义是有好处的。

  • 相关阅读:
    awk书上练习
    矩阵运算
    从最大似然到EM算法浅解
    numpy 练习
    python lxml教程
    pycharm快捷键
    python正则表达式教程
    三门问题
    Solr本地服务器搭建及查询
    git简单使用
  • 原文地址:https://www.cnblogs.com/coolYuan/p/7852654.html
Copyright © 2011-2022 走看看