首页 > 其他 > 详细

uboot执行make做了什么?

时间:2019-07-02 17:51:29      阅读:99      评论:0      收藏:0      [点我收藏+]

一。  sinclude $(obj)include/autoconf.mk.dep 该句相当于c语言的#include,当该文件不存在时make会查找相应的规则来产生此文件,该块在Makefile的440行如下:

      $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h

        @$(XECHO) Generating $@ ; \

        set -e ; \

        : Generate the dependancies ; \
        $(CC) -x c -DDO_DEPS_ONLY -M $(HOST_CFLAGS) $(CPPFLAGS) \
        -MQ $(obj)include/autoconf.mk include/common.h > $@

    执行得到   include/autoconf.mk.dep  并被包含进来,该文件为  include/autoconf.mk  的依赖文件

二。  产生  include/version_autogenerated.h  该文件内容为:

      #define U_BOOT_VERSION "U-Boot 1.3.4"

三。  产生  include/autoconf.mk  系统中所有的"CONFIG_"开头的宏开关, 都被放到了include/autoconf.mk中,该文件在编译参数设置文件即$(TOPDIR)/config.mk中被包含

四。  执行$(SUBDIRS)目标下的命令,无意义不做详解

五。  执行$(OBJS)目标下的命令 $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@)) ,即进入OBJ目录下执行make $@得到$@文件

六。  执行$(LIBS)目录下的命令 $(MAKE) -C $(dir $(subst $(obj),,$@)) 即 进入LIBS目录下执行  make 得到相应的库文件

七。  执行$(LIBBOARD)目录下的命令$(MAKE) -C $(dir $(subst $(obj),,$@)) 即 进入LIBBOARD目录下执行  make 得到相应的库文件

八。  执行$(LDSCRIPT)目录下的命令$(MAKE) -C $(dir $@) $(notdir $@)即 进入LDSCRIPT目录下执行  make $(notdir $@)这里未定义该目标所以没有操作

九。  分别进入u-boot  u-boot.srec  u-boot.bin  System.map  u-boot.dis  中得到相应的目标文件

 

uboot执行make做了什么?

原文:https://www.cnblogs.com/genshu123/p/11121838.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!