u-boot的Makefile

1,顶层Makefile通过make platform_config配置,创建config/include.h,并将一些配置写入config.h。

2,调用shell脚本mkconfig,并传入平台,硬件体系架构等参数。@$(MKCONFIG) -a ti8148_ipnc arm arm_cortexa8 ti8148_ipnc ti ti81xx

3,mkconfig脚本 主要根据传入参数,确定硬件平台,并将对应的变量写入新创建的文件include/config.mk中。

4,mkconfig脚本创建include/config.h,并使config.h包含一些配置文件

            #include <config_defaults.h>
            #include <configs/ti8148_ipnc.h>
            #include <asm/config.h>

5,顶层Makefile包含include/config.mk,导出变量。

6,顶层Makfile包含顶层目录的config.mk。

7,顶层目录config.mk包含board/ti/ti8148_ipnc/config.mk。

8,确定最终链接文件LDSCRIPT := /board/ti/ti8148_ipnc/u-boot.lds,;包含include/autoconf.mk,autoconf.mk确定了所有的配置选项,为后面进行条件编译提供基础。

9,u-boot Makefile 体系

u-boot Makefile 体系
名    称描    述
顶层Makefile从总体上控制着u-boot的编译、连接,定义总目标u-boot.bin
顶层config.mk规定了编译的规则,被所有Makefile所调用
顶层rules.mk生成依赖关系,被各级子目录Makefile所调用
各级子目录Makefile决定当前目录的编译、连接
顶层mkconfig在编译之前运行,为编译做准备

  mkconfig(shel l脚本)是在编译之前做一些准备,笔者认为可以不算做Makefile集体中的一部分。

u-boot编译过程中生成的与编译相关的文件
名称描述
include/config.mkmkconfig所生成,被顶层Makefile所包含,定义ARCH、CPU等全局变量
各级子目录.depend各级子目录makefile所生成,并被各级子目录makefile所包含,定义依赖关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值