TQ2440之uboot---3.make EmbedSky_config
扫描二维码
随时随地手机看文章
虽然网上有无数的分析,但是还是觉得有必要自己分析一遍
Uboot在编译的时候通常需要两步:
make EmbedSky_config
make all
1.下面就分析一下执行 make EmbedSky_config后发生了什么
在Makefile中有如下
EmbedSky_config:unconfig
@$(MKCONFIG)$(@:_config=)arm arm920t EmbedSkyNULLs3c24x0
1.1 unconfig:
@rm-f include/config.h include/config.mk
board/*/config.tmp board/*/*/config.tmp
unconfig 非常简单 删除几个文件,删除的这几个文件是在下面的mkconfig 中生成的
1.2 @$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0
MKCONFIG:=$(SRCTREE)/mkconfig
export MKCONFIG
所以 $(MKCONFIG)就是当前目录下的mkconfig脚本
$(@:_config=)去掉EmbedSky_config中的_config,
EmbedSky_config:unconfig
./mkconfig EmbedSky arm arm920t EmbedSkyNULLs3c24x0
$0 $1 $2 $3 $4 $5 $6
1.3 然后再来分析一下执行了:
./mkconfig EmbedSky arm arm920t EmbedSky NULL s3c24x0 后做了什么
rm-f include/asm
ln-s include/asm-arm include/asm
rm-f asm-arm/proc
ln-s proc-armv asm-arm/proc
rm-f asm-arm/arch
ln-s arch-s3c24x0 asm-arm/arch
将如下写入include/config.mk
ARCH = arm
CPU = arm920t
BOARD = EmbedSky
SOC = s3c24x0
将如下写入include/config.h
#include
mkconfig主要做了两件事,创建符号链接,并创建config.mk 和 config.h 文件。