makefile学习使用记录

本文记录了Makefile中赋值运算符的区别,包括`:=`、`?=`和`+=`的用法,并探讨了如何使用反引号执行shell命令,以及如何在总Makefile中调用子Makefile,利用`-e`和`-C`选项管理子目录和变量覆盖。
摘要由CSDN通过智能技术生成

1)= := ?= +=的区别

:=直接赋值 ?=上文没有赋值则赋值,有则不赋值 +=追加赋值

ARCH ?=
CROSS_COMPILE ?=
CC := $(CROSS_COMPILE)gcc
AR := $(CROSS_COMPILE)ar

2)反引号用于执行shell命令,例

LIBLORAGW_VERSION := `cat ../VERSION`

3)总Makefile调用子Makefile, -e 用于覆盖子Makefile变量,-C 指定子目录路径,例

all: libtools libloragw packet_forwarder util_net_downlink util_chip_id

libtools:
	$(MAKE) all -e -C $@

libloragw: libtools
	$(MAKE) all -e -C $@

packet_forwarder: libloragw
	$(MAKE) all -e -C $@

util_net_downlink: libtools
	$(MAKE) all -e -C $@

util_chip_id: libloragw
	$(MAKE) all -e -C $@

参考

Makefile中:=, =, ?=和+=的含义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值