MKCONFIG := $(SRCTREE)/mkconfig
export MKCONFIG
在编译U-BOOT之前,先要执行
# make smdk2410_config
smdk2410_config是Makefile的一个目标,定义如下:
smdk2410_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
unconfig::
@rm -f $(obj)include/config.h $(obj)include/config.mk
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
显然,执行# make smdk2410_config时,先执行unconfig目标,注意不指定输出目标时,obj,src变量均为空,unconfig下面的命令清理上一次执行make *_config时生成的头文件和makefile的包含文件。主要是include/config.h 和include/config.mk文件。
然后才执行命令
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
MKCONFIG 是顶层目录下的mkcofig脚本文件,后面五个是传入的参数。
对于smdk2410_config而言,mkconfig主要做三件事:
在include文件夹下建立相应的文件(夹)软连接,
#如果是ARM体系将执行以下操作:
#ln -s asm-arm asm#ln -s arch-s3c24x0 asm-arm/arch
#ln -s proc-armv asm-arm/proc
生成Makefile包含文件include/config.mk,内容很简单,定义了四个变量:
ARCH = arm
CPU = arm920t
BOARD = smdk2410
SOC = s3c24x0
生成include/config.h头文件,只有一行:
/* Automatically generated - do not edit */
#include "config/smdk2410.h"
本文关键字:暂无联系方式嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术
上一篇:嵌入式系统设计师考试试题与小结