为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以及一些链接文件也存放在该目录下