0
点赞
收藏
分享

微信扫一扫

makefile学习使用记录

花明 2022-03-11 阅读 181
linux

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中:=, =, ?=和+=的含义

makefile - 反引号、单引号双引号、dirname、wildcard

将变量传达给子 make

举报

相关推荐

0 条评论