打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Makefile 中变量的赋值

Makefile 中变量的赋值

在Makefile中,对变量的赋值,有好几种方式,它们的意义、使用的场合都各不相同,初学者往往比较迷惑。这里对它们的用法简要介绍一下。

 

1 . =

递归展开赋值,这是默认的赋值方式。Makefile是两遍解析的,若一个变量引用另外一个变量,两个变量定义的位置,谁在前谁在后没有任何关系,都能达到同样的效果。如:

SUBARCH=arm

ARCH =$(SUBARCH)

all:

     @echo $(ARCH)

输出:

arm

ARCH =$(SUBARCH)

SUBARCH=arm

all:

     @echo $(ARCH)

也输出:

arm

 

2.  ?=

赋默认值。如果没有初始化该变量,就给它赋上默认值。如:

ARCH=arm

ARCH ?= i386

all:

     @echo $(ARCH)

输出:

arm

ARCH=

ARCH ?= i386

all:

     @echo $(ARCH)

输出:

i386

 

3.  :=

直接赋值,不会递归展开,若引用的变量不存在,就展开为空串。如:

SUBARCH=arm

ARCH =$(SUBARCH)

all:

    @echo $(ARCH)

输出:

arm

ARCH :=$(SUBARCH)

SUBARCH=arm

all:

     @echo $(ARCH)

输出:

(空串)

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
makefile中的各种变量赋值方式
Arm Linux交叉编译和连接过程分析(2) - Linux - Linux My world
Linux-Android启动之zImage生成过程详解
2.4内核(arm版)Makefile分析
Linux内核构建系统之五
Linux内核编译详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服