学习笔记-uboot的makefile

 

1、uboot的版本号

uboot的版本号分3个级别:
VERSION:主板本号
PATCHLEVEL:次版本号
SUBLEVEL:再次版本号
EXTRAVERSION:另外附加的版本信息
这4个用.分隔开共同构成了最终的版本号。
Makefile中版本号最终生成了一个变量U_BOOT_VERSION,这个变量记录了Makefile中配置的版本号。

2、shell 中的 | 表示管道,前一个输出作为后一个的输入。

3、HOSTARCH和HOSTOS

HOSTARCH:主机的架构

HOST:主机

ARCH:architecture 架构的缩写,表示CPU的架构

HOSTOS:主机的操作系统

4、静默编译

  主要是判断make 时的输入的参数,如果输入有 s 参数,会将 echo 替换为空,就是不会打印。

  如果没有 s 参数,则是 echo 会输出log。

5、编译的两种方法

  Makefile提供两种编译管理方法。

(1)原地编译:在.c文件当前的目录下,直接编译.o文件放在同一文件夹下。

   坏处:污染了源文件目录,无法同时维护2个或2个以上的配置编译方式。

(2)单独输出文件夹方式编译:

  编译时另外指定一个输出目录,将生成的编译文件放到指定的目录下。

  1)make O=输出目录  [优先级比较高]

  2)export BUILD DIR = 输出目录 然后再make  

 

6、OBJTREE、SRCTREE、TOPDIR

(1)OBJTREE: 编译出的.o 文件存放的目录的根目录。在默认编译下,OBJTREE就是当前目录。

 

(2)SRCTREE: 源码目录,当前源码的根目录。

默认编译下,OBJTREE与SRCTREE 相等。Makefile定义这两个变量,就要是为了 make o=xx 的

 

(3)TOPDIR:

 

7、MKCONFIG

  MKCONFIG 是Makefile中定义的一个变量(在这里定义,后面使用),它的值就是我们源码目录下面的mkconfig。

  mkconfig是一个脚本,这个脚本就是uboot配置阶段的配置脚本。

  

 

posted @ 2021-04-17 07:45  Ben002  阅读(177)  评论(0编辑  收藏  举报