U-BOOT Makefile注释

U-BOOT Makefile注释

ID:40572185

大小:28.50 KB

页数:6页

时间:2019-08-04

U-BOOT Makefile注释_第1页
U-BOOT Makefile注释_第2页
U-BOOT Makefile注释_第3页
U-BOOT Makefile注释_第4页
U-BOOT Makefile注释_第5页
资源描述:

《U-BOOT Makefile注释》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、首先要了解的当然是config目标比如:smdk2410_config   :   unconfig   @$(MKCONFIG)$(@:_config=)armarm920tsmdk2410samsungs3c24x0依赖为unconfig,第二行开头的@,只是表明该行命令的输出将被抑制。而$(MKCONFIG)变量则是要运行的命令,它是一个脚本文件,后面的是它的参数。前面有变量MKCONFIG的定义:MKCONFIG   :=$(SRCTREE)/mkconfig而变量SRCTREE的定义则为:SRCTREE      :=$(

2、CURDIR)而变量CURDIR是没有定义的,没有定义的话,也就是空,即指当前目录。所以$(MKCONFIG)也就是源码根目录下的文件mkconfig它接受最多6个参数。这个脚本文件创建头文件和配置链接。Parameters: Target Architecture CPU Board[VENDOR][SOC]$@是make的自动变量,标识规则的目标名。即smdk2410_config。$(@:_config=)意思就是$@中的“_config”替换为空,也就是删掉目标中“_config”这个子串。这样看的话在配置时,执行makes

3、mdk2410_config实际上执行的是:./mkconfigsmdk2410armarm920tsmdk2410samsung2s3c24x0其内容为:APPEND=no   #Default:CreatenewconfigfileBOARD_NAME=""   #NametoprintinmakeoutputTARGETS=""while[$#-gt0];do   case"$1"in   --)shift;break;;   -a)shift;APPEND=yes;;   -n)shift;BOARD_NAME="${1%%

4、_config}";shift;;   -t)shift;TARGETS="`echo$1

5、sed's:_::g'`${TARGETS}";shift;;   *) break;;   esacdone######"$#"将扩展成传递给脚本的参数的数目###shift将$*中的剩余的参数向左移动一个位置并减少$#的值1。###"$*"将扩展成传递给脚本的所有参数###BOARD_NAME行的${1%%_config}是截断字符串的意思,找到 ###从字符串$1结束处开始、且匹配字符串"_config"的最长子 ###字符串,然后将其

6、从字符串的结尾处截去。(此处的%%换成%应###该也可以的)###TARGETS行,sed将$1中的_替换为空格。###这样看下来在smdk2410_config这个例子中这个循环好像仅 ###仅在空转。["${BOARD_NAME}"]

7、

8、BOARD_NAME="$1"###定义变量BOARD_NAME[$#-lt4]&&exit1[$#-gt6]&&exit1###当参数数量小于四或大于六的时候出错,退出if["${ARCH}"-a"${ARCH}"!="$2"];then   echo"Failed:$ARCH=${ARCH

9、},shouldbe'$2'for${BOARD_NAME}"1>&2   exit1fi###当ARCH变量已定义时(Makefile中),判断其值与参数与$2###是否相等,如果不相等则报错退出。[命令的-a,即当它左右两###边的表达式同时为真时返回真。echo"Configuringfor${BOARD_NAME}board..."##Createlinktoarchitecturespecificheaders#if["$SRCTREE"!="$OBJTREE"];then   mkdir-p${OBJTREE}/incl

10、ude   mkdir-p${OBJTREE}/include2   cd${OBJTREE}/include2   rm-fasm   ln-s${SRCTREE}/include/asm-$2asm   LNPREFIX="../../include2/asm/"   cd../include   rm-rfasm-$2   rm-fasm   mkdirasm-$2   ln-sasm-$2asmelse   cd./include   rm-fasm   ln-sasm-$2asmfi###提供了对于不在源码目录里构建目标文

11、件的支持。### 主要意思也就是创建符号链接asm以指向平台的头文件目论###进入include目录中,创建符号链接asm,本例中位指向###asm-armrm-fasm-$2/arch###先删除符号链接asm-arm/archif

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。