OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4678|回复: 2

uboot顶层makefile **/build-in.o是怎么编译出来的?

[复制链接]

6

主题

12

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-3-22
在线时间
5 小时
发表于 2021-9-8 16:17:55 | 显示全部楼层 |阅读模式
4金钱
顶层makefile中有如下模式匹配的代码:%.s: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.i: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.o: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.lst: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.s: %.S prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.o: %.S prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
%.symtypes: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)

# 关于 libs-y 变量
libs-y += drivers/serial/
libs-y += drivers/usb/dwc3/
libs-y += drivers/usb/emul/
libs-y += drivers/usb/eth/
....
libs-y                := $(patsubst %/, %/built-in.o, $(libs-y))
...
u-boot-main := $(libs-y)


所有目录被替换成了**/built-in.o,并且赋值给了u-boot-main,...u-boot-main是目标all的一个依赖。

%.o: %.c prepare scripts FORCE
    $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)

    @echo ************** $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) *****************
把工程清理,重新编译,
为什么没有看到 @echo ************** $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@) ***************** 执行 ??




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2021-9-11 23:56:39 | 显示全部楼层
回复

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2021-10-10 16:52:16 | 显示全部楼层
你到每个libs-y 包含的目录去看build-in.o.cmd就知道了,就是把一个或则多个.o 链接成一个build-in.o,如fs目录下build-in.o.cmd:  cmd_fs/built-in.o :=  arm-linux-gnueabihf-ld.bfd     -r -o fs/built-in.o fs/fs.o fs/ext4/built-in.o fs/fat/built-in.o
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 15:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表