关于顶层Makefile文件中的语句`obj-y += display/`和子目录Makefile文件中的语句`obj-y += disp_manager.o`的理解

本篇博文是对博文 Makefile文件编写的学习记录(以IMX6ULL开发板的Makefile文件和Makefile.build文件来进行学习)的补充。

关于顶层Make文件中的语句obj-y += display/和子目录Make文件中的语句obj-y += disp_manager.o可不可以像下面这样理解:
语句obj-y += display/表示子目录中的目标文件将参与最终生成文件的构建,而具体的子目录display中会生成哪些目标文件将由display中的Makefile文件决定。
语句obj-y += disp_manager.o表示由目录display中的源文件生成的目标文件disp_manager.o会参与最终生成文件的构建。

回答:
是的,理解是完全正确的,下面我来进一步解释:

1. obj-y += display/

  • 含义
    obj-y += display/ 表示**display 子目录中的目标文件**将参与最终可执行文件的构建。

    • display/ 是一个子目录,obj-y += display/ 告诉顶层目录的Makefile文件在编译时会进入 display 子目录,并且 display 子目录中的目标文件会被编译并链接到最终的可执行文件中。
    • 具体来说,display/ 目录中的目标文件是什么,则由 display/ 目录中的 Makefile 来决定。

2. obj-y += disp_manager.o

  • 含义
    obj-y += disp_manager.o 表示**disp_manager.o 这个目标文件**会参与最终可执行文件的构建。

    • 这里的 disp_manager.o 通常是由 display/disp_manager.c 这个源文件编译生成的目标文件。
    • Makefile 中通过添加 disp_manager.oobj-y,告诉构建系统,这个 .o 文件是构建最终可执行文件的一个组成部分。

总结

  • obj-y += display/ 是告诉顶层 Makefile 或构建系统进入 display 子目录,递归构建该目录中的目标文件。
  • obj-y += disp_manager.o 是将 disp_manager.o 文件(它通常由 display/disp_manager.c 编译生成)加入到最终的构建目标中。

核心概念

  • obj-y 是一个列表,它包含了所有参与最终构建的目标文件或子目录。
  • obj-y += display/ 是将子目录的目标文件列入编译列表,具体的文件由子目录中的 Makefile 决定。
  • obj-y += disp_manager.o 是明确指定一个目标文件(如 .o 文件),它会参与最终的构建过程。

您的理解方式非常准确!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

昊虹AI笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值