U-boot-1.2.0 Makefile解析

为ARM平台编译UBOOT使用如下命令:

 

make smdk2410_config

make

 

Makefile中的目标 smdk2410_config会去调用根目录下的 mkconfig脚本文件,该脚本文件的功能是创建连接(asm->asm-arm, asm-arm/arch->asm-arm/arch-s3c24x0, asm-arm/proc->asm-arm/proc-armv),生成config.mk与config.h文件:

 

config.h:

 

/* Automatically generated - do not edit */
#include <configs/smdk2410.h>

 

config.mk:

 

ARCH   = arm
CPU    = arm920t
BOARD  = smdk2410
SOC    = s3c24x0

 

生成的config.mk会被根目录下的Makefile包含以确定各个宏定义:

 

。。。。。。

 

include $(OBJTREE)/include/config.mk
export  ARCH CPU BOARD VENDOR SOC

 

。。。。。。

 

ifef($(ARCH),arm)

CROSS_COMPILE = arm-linux-

 

。。。。。。

 

LIBS += lib_$(ARCH)/lib$(ARCH).a

 

。。。。。。

 

 

在编译之前到处变量BUILD_DIR可以控制U-BOOT目标文件的存放目录:

 

export BUILD_DIR=/tmp/build

 

包括生成的config.h与config.mk以及一些链接文件也存放在该目录下

 

 

 

 

你可能感兴趣的:(c,脚本,Build,include,平台,makefile)