Makefile实战之四Makefile变量

本文详细介绍了Makefile中的变量使用,包括变量命名规范、赋值类型(如`:=`、`=`、`?=`、`+=`)、宏、隐含变量以及自动化变量的应用,如`$@`、`$<`、`$?`、`$^`等。通过这些知识,可以帮助开发者更高效地编写Makefile。

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

4.1 Makefile中的变量

Makefile中的变量相当于C语言中的宏变量,变量名称是区分大小写的,变量在声明时需要给予初值,使用时在变量名前加上$ 符号,但最好用小括号() 或是大括号{} 把变量给包括起来。如果你要使用$ 字符,要用$$ 来表示

4.2 变量的命名规范
  1. 当变量用来表示命令行上或环境中的常数时,全部以大写字母编写,单词之间以下划线( _ )隔开;
  2. Makefile文件中出现的内部变量或函数中使用的变量,全部以小写编写,单词之间以破折线( - )隔开;
4.3 变量的赋值类型
  1. := 执行时赋值运算符的右边部分会立刻被扩展;

    DEFEND := $(CC) -M此变量一般会变成这样:gcc -M

    如果CC变量尚未定义,则此变量一般会变成: -M

  2. = 延后赋值

    DEFEND = $(CC) -M

    CC = gcc

    当DEFEND使用时,CC并未定义,但DEFEND依然被扩展成gcc -M

  3. ?= 条件赋值

    DEFEND ?= $(CC) -M

    如果DEFEND的值不存在则进行赋值操作,如果已经存在了则不进行赋值操作

  4. += 附加赋值,给变量追加某个值

4.4 宏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

→嵌入式Linux开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值