博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uboot Makefile 分析
阅读量:4283 次
发布时间:2019-05-27

本文共 2251 字,大约阅读时间需要 7 分钟。

uboot Makefile 分析

配置过程

3329 hi3531a_config: unconfig3330     @$(MKCONFIG) $(@:_config=) arm hi3531a hi3531a NULL hi3531a//hi3531a_config依赖 unconfig 553 unconfig: 554     @rm -f $(obj)include/config.h $(obj)include/config.mk \ 555         $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \ 556         $(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep 执行完 unconfig 之后   执行源码顶层目录下的 mkconfig ,参数为 hi3531a arm hi3531a hi3531a NULL hi3531a mkconfig是一个脚本文件 会做以下几件事情    链接一个arch/arm/include/asm/arch-hi3531a到在arch/arm/include/asm/下的arch    链接一个arch/arm/include/asm/proc-armv 到在arch/arm/include/asm/下的proc    链接arch/arm/include/asm 到include/asm    在include目录下创建一个文件config.mk    在include目录下创建一个文件config.h

编译过程

1//首先找到第一个目标 344 # Always append ALL so that arch config.mk's can add custom ones 345 ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND) 346  347 all:        $(ALL)2//首先会include  include/config.mk 153 # load ARCH, BOARD, and CPU configuration 154 include $(obj)include/config.mk 155 export  ARCH CPU BOARD VENDOR SOC3//然后根据 include/config.h 生成 CONFIG文件(autoconf.mk)    //第一个是生成include/autoconf.mk的依赖文件    //第二个是根据include/config.h的文件内容,利用tools/scripts/define2mk.sed脚本将所有的CONFIG提取到autoconf.mk文件中 508 # 509 # Auto-generate the autoconf.mk file (which is included by all makefiles) 510 # 511 # This target actually generates 2 files; autoconf.mk and autoconf.mk.dep. 512 # the dep file is only include in this top level makefile to determine when 513 # to regenerate the autoconf.mk file. 514 $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h 515     @$(XECHO) Generating $@ ; \ 516     set -e ; \ 517     : Generate the dependancies ; \ 518     $(CC) -x c -DDO_DEPS_ONLY -M $(HOSTCFLAGS) $(CPPFLAGS) \ 519         -MQ $(obj)include/autoconf.mk include/common.h > $@ 520  521 $(obj)include/autoconf.mk: $(obj)include/config.h 522     @$(XECHO) Generating $@ ; \ 523     set -e ; \ 524     : Extract the config macros ; \ 525     $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \ 526         sed -n -f tools/scripts/define2mk.sed > $@.tmp && \ 527     mv $@.tmp $@4/include include/autoconf.mk5/切到相应目录下make,并打包成.a文件6/根据连接文件u-boot.lds链接.a文件

uboot Makefile

版本:u-boot-2010.06


参考资料

转载地址:http://stigi.baihongyu.com/

你可能感兴趣的文章
Android APP 检测安装打开 APK 三步操作
查看>>
Xamarin.Forms Performance on Android
查看>>
AndroidManifest.xml <uses-feature> 和 <uses-permisstion>
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel-linux-android
查看>>
【Java】JSP入门
查看>>
【JAVA】Session
查看>>
【Java】EL和JSTL
查看>>
【JAVA】三层架构,综合练习
查看>>
【Java】Filter和Listener
查看>>
【Python3】网络编程基础
查看>>
【Flask】制作用户登陆
查看>>
javascript操作html元素CSS属性
查看>>
献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!
查看>>
《Javascript权威指南》学习笔记之十四:JavaScript内建类
查看>>
JavaScript实现简单日历
查看>>
论”犯贱“ --生活小记
查看>>
JavaScript实现简单图片滚动 --9张图告诉你,C罗欲哭无泪
查看>>
国外优秀JavaScript资源推荐
查看>>
JS中单引号/双引号以及外部js引入的一些问题
查看>>
加班防猝死的十个小建议
查看>>