uboot - 主Makefile分析【3】

原创 2015年11月18日 03:39:09

一、首先分析三个在Makefile中定义的变量:


(1)OBJTREE:就是编译输出.o文件的根目录,在默认编译下就是当前的目录,就是主makefile存在的目录
 如果是用O=xxx编译的 那么OBJTREE就是指定的输出目录xxx

(2)SRCTREE:源码目录,就是源代码的根目录,也就是当前目录。在默认情况下OBJTREE = SRCTREE,

在O=xxx指定输出目录的编译下就是各自为各自Makefile中定义这两个变量,其实就是为了记录编译后的.o文件往哪里放,

就是为了实现O=xxx的这种编译方式的。

3)MKCONFIG:Makefile中定义的一个变量(在这里定义,在后面使用),它的值就是我们源码根目录下面的mkconfig。(如图)
这个mkconfig是一个脚本,这个脚本就是uboot配置阶段的配置脚本。


二、接下来我们来看Makefile导出的5个环境变量:ARCH,CPU,BOARD,VENDOR,SOC.的作用及config.mk

(1)先说说config.mk怎么来的?在哪里?

config.mk早uboot的源码是没有的是在执行make NAME_config或者make O=xxx NAME_config的时候产生的,执行完

make NAME_config或者make O=xxx NAME_config会在对应的目录下的include目录下生成。比如我使用的是默认的编译则会

在makefile根目录下include目录下产生,如图:


2)我们说说ARCH,CPU,BOARD,VENDOR,SOC是怎么被定义赋值的?为什么不在makefile中直接赋值定义。


之所以不直接给出这5个环境变量的值,是因为我们希望这5个值是可以被人很容易的、集中的配置的。怎么被定义的呢:

你在命令行执行make NAME_config或者make O=xxx NAME_config的时候,makefile会索引到目标NAME_config上进行

对ARCH,CPU,BOARD,VENDOR,SOC赋值,并写入include/config.mk下,如图,makefile下的目标为:


所以输入 命令行下make x210_sd_config会在include/下生成config.mk文件,文件内容如下:


如果我们要更改这里的某个配置值要到目标NAME_config那里调用MKCONFIG脚本传参时的参数。


三、我们说说ARCH CROSS_COMPILE变量(使用哪种编译链来编译)

makefile里面支持很多类型的架构的交叉编译 ARM PPC MIPS NIOS等我们在上面的config.mk很明显的看出ARCH = arm 

(1)CROSS_COMPILE是被ARCH所确定的,只要配置了ARCH=arm,那么我们就只能在ARM的那个分支去设置CROSS_COMPILE的值。

这个设置值只要能保证找到那个交叉编译工具链即可,不一定非得是全路径的,相对路径也可以。(如果已经将工具链导出到环境变量,

并且设置了符号链接,这样CROSS_COMPILE = arm-linux-就可以)如图:


(2)实际运用时,我们可以在Makefile中去更改设置CROSS_COMPILE的值,也可以在编译时用make CROSS_COMPILE=xxxx来设置,

而且编译时传参的方法可以覆盖Makefile里面的设置。直接在命令行下输入make CROSS_COMPILE=xxxx来赋值。如图:







版权声明:本文为博主原创文章,转载请标明出处。

相关文章推荐

uboot主Makefile分析3

《朱老师物联网大讲堂》学习笔记 学习地址:www.zhulaoshi.org OBJTREE, 编译出来的.o文件的根目录,默认就是当前目录, SRCTREE, 源码目录,也就是当前目录, ...

uboot - 主Makefile分析【1】

首先,进入uboot工程的的根目录下有个Makefile文件,打开它。 第一部分是一些作者信息和版权信息。致敬作者3秒钟后,忽略不计。。。 HOSTARCH:主机架构,就是...

嵌入式linux之Uboot和系统移植--主Makefile分析

《2.uboot和系统移植-第4部分-2.4.uboot配置和编译过程详解》 (朱老师物联网大讲堂笔记) 第一部分、章节目录 1.uboot主Makefile分析1 2.uboot主Makefile分...

uboot - 主Makefile分析【2】

该段makefile实现了静默编译功能 $(findstring s,$(MAKEFLAGS))解析 1 将s加入到MAKEFLAGS下 2 在命令行敲入make -s的时候 $(findstr...

uboot - 主Makefile分析【4】

===主要分析主makefile的调用的makefile  ->  config.mk文件 === 调用uboot根目录下的config.mk进行编译: 注意:在include...

uboot配置和启动过程1(主Makefile分析)

转自  http://www.cnblogs.com/zou107/p/5082617.html 说明:文件位置:在uboot的目录下,文件名为:Makefile 从文件的头部开始分析 ...

Uboot_Makefile_分析

  • 2013-03-26 12:15
  • 1.25MB
  • 下载

uboot的makefile 详细分析

  • 2010-06-11 10:06
  • 187KB
  • 下载

uboot-Makefile分析

http://blog.chinaunix.net/uid-26470747-id-3026594.html uboot-Makefile分析 (2011-11-24 09:41) 标签:...

uboot makefile分析

  • 2013-09-17 09:38
  • 350KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)