概述
mini2440_config : unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0
unconfig:
@rm -f $(obj)include/config.h $(obj)include/config.mk
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
@rm -f $(obj)include/config.h $(obj)include/config.mk
$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp
其实这部分的功能就是删除一些文件
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 tekkamanninja s3c24x0
这部分$(@:_config)没看懂,后来在网上查到了一些高人的解释:
这里使用了Makefile中的替换引用规则,类似常看到的例子 obj=$(srcfiles:%.c=%.o): 由.c得到对应的.o文件.
这里是一样的道理:
$(@:_config=)
@代表的是target mini2440_config, 那么$(@:_config=)就是将mini2440_config中的_config替换为空!得到mini2440; 你可以用echo自己打印出来看看就明白了!
mini2440_config : unconfig
@echo $(@:_config=) # 打印出来看看吧
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 charming s3c24x0
这里是一样的道理:
$(@:_config=)
@代表的是target mini2440_config, 那么$(@:_config=)就是将mini2440_config中的_config替换为空!得到mini2440; 你可以用echo自己打印出来看看就明白了!
mini2440_config : unconfig
@echo $(@:_config=) # 打印出来看看吧
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 charming s3c24x0
MKCONFIG其实就是根目录的脚本文件,这句的目的就是给脚本传递六个参数
所以上面的其实就是./mkconfig mini2440 arm arm920t mini2440 charming s3c24x0
在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 = mini2440VENDOR = tekkamanninja
SOC = s3c24x0
生成include/config.h头文件,只有两行:
/* Automatically generated - do not edit */
#include "configs/mini2440.h"
#include"asm/config.h"
最后
以上就是心灵美蓝天为你收集整理的u-boot mkconfig文件解析的全部内容,希望文章能够帮你解决u-boot mkconfig文件解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复