Makefile 变量定义(*赋值)

本文介绍了GNU Make中的两种变量类型:递归展开式变量和直接展开式变量。详细解释了它们的定义方式及展开时机的不同,并通过示例展示了这两种变量如何在Makefile中使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在GNU make中,变量的定义有两种方式,递归展开式变量和直接展开式变量。

两种变量的不同主要体现在两个方面:1. 定义方式 ; 2.展开时机。

详细的介绍和例子演示可以查阅 GNU Makefile.pdf chapter 6.2.


递归展开式变量:

1. 定义方式为 =

foo=$(bar)

bar=$(ugh)

ugh=Huh?


all: ;echo $(bar)

2.变量可以引用在其后面定义的变量,因为递归式变量的展开是在执行的时候,也就是在echo $(bar) 这个命令执行的时候才会对$(bar)进行展开。


直接展开式变量

1. 定义方式为 :=

x := foo

y := $(x) bar

x: = later

2. 变量是在定义的时候就直接进行展开,因此y变量就是等于foo bar.


Over.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值