Makefile中变量赋值的方式

Makefile中的"="":="、"?="和"+="
区别是:
"="是直接给变量赋值。
":="是将":="右边中包含的变量直接展开给左边的变量赋值。
"?="是在该变量没有被赋值
的情况下为其赋值。
"+="是给该变量追加值。
例:
a = 1
b = 2
c := $(a) 3
d = 4
d
?= 5
b += 6
结果:
a=1
c=1 3
d=4
b=2 6
这里有GNU
make中文手册,很好:
GNU make中文手册

来源:Makefile中变量赋值的方式-niutao.linux-ChinaUnix博客

完。

Makefile中变量赋值的方式,布布扣,bubuko.com

时间: 2024-10-26 16:34:51

Makefile中变量赋值的方式的相关文章

makefile之变量赋值

makefile中变量赋值有4种方法: = ,   := ,  += ,  ?= = :直接赋值 变量 = 值 :=   :位置相关赋值 如果右值为一个值,那么它和=没区别,如果右值为变量,那么左边变量的值等于右边变量当前位置的值,什么意思呢? a = abc b = $(a) a = jkl all: @echo $(b) .PHONY:all 执行这个makefile,输出 b的值为jkl,  在 b = $(a) 这句中,变量a的值被延迟展开,即由变量a最后一条赋值语句 a = jkl 决

Python中变量赋值的8种形式、需要注意哪些细节?

本文解释python中变量赋值的形式,并解释一些细节. python中变量赋值的几种形式 1 x = "long" # (1).基本形式 2 x, y = "long", "shuai" # (2).元组对应赋值 3 [x, y] = ["long", "shuai"] # (3).列表对应赋值 4 a, b, c, d = "long" # (4).序列赋值 5 a, *b = 'lo

Oracle 过程中变量赋值

? 1 2 3 4 5 6 7 8 9 10 create or replace function get_sal1(id employees.employee_id%type)   return number is   sal employees.salary%type; begin   sal := 0;   select salary into sal from employees where employee_id = id;   return sal; end; ? 1 2 3 4 5

关于makefile中变量的多次赋值以及override指令

1 基本原则如下 1.1 原则1 变量的普通赋值是有先后顺序的,后面的赋值会覆盖掉前面的赋值. 1.2 原则2 使用的时候,用的是其前面最后的赋值,就算其后面有使用了override指令的赋值也不会影响这条原则. 1.3 原则3 当使用了override指令定义赋值了变量后,其后对该变量的所有的赋值都是无效的.但是override之前的所有的赋值都是有效的.使用的时候是往前最近原则. 2 override变量.命令行参数和普通变量之间的屏蔽关系 override变量会屏蔽命令行参数,除非用+=:

mysql中变量赋值

http://www.cnblogs.com/qixuejia/archive/2010/12/21/1913203.html sql server中变量要先申明后赋值: 局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的): 申明局部变量语法:declare @变量名 数据类型:例如:declare @num int: 赋值:有两种方法式(@num为变量名,value为值) set @num=value;   或   select @num=value; 如果想获取查询

Elisp 中变量赋值函数 set 与 setq 辨析

在 Elisp 中,为变量赋值的函数有 set 与 setq,但是,两者存在很大的差异. 使用 set 赋值: 如果我们想为变量 flowers 赋值为一个 列表 '(rose violet daisy buttercup) ,我们需要如下语句: (set 'flowers '(rose violet daisy buttercup)) 需要注意的是,当你使用 set 函数为变量赋值时,你需要在 set 函数的两个参数(即变量与值)前添加单引号.因为如果我们不添加单引号,这两个参数就会被当成表达

java中变量赋值的理解

1.当赋值的值超出声明变量的范围时候,会报错! byte a =200 //会报错,因超出范围. byte a =(byte)200;//进行一个强制转换,就不会报错,不过会超出范围,超出部分会从头开始加, 由于byte的范围为-128~127,所以是-128+73为所得结果.2.声明一个整数类型时候,默认都是int类型(4个8位):如果具体的数值比声明变量的取值范围小,则不报错. 例:short a =222;3.long l = 88888888888l 很明显,这一长串数字是好超过int的

通过反射对任意class类中方法赋值的方式

import org.apache.commons.lang3.StringUtils;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Component; import java.lang.reflect.Method; @Componentpublic class SetPlatformUtils { private static final CoreSe

sql server存储过程中SELECT 与 SET 对变量赋值的区别

SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这两种方式还是有很多差别的. SQL Server推荐使用 SET 而不是 SELECT 对变量进行赋值. 当表达式返回一个值并对一个变量进行赋值时,推荐使用 SET 方法. 下表列出 SET 与 SELECT 的区别.请特别注意红色部分.   set select 同时对多个变量同时赋值 不支持 支