找回密码
 注册
关于网站域名变更的通知
查看: 289|回复: 2
打印 上一主题 下一主题

TQ2440之U-Boot-1.1.6之顶层Makefile分析一

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-4-24 13:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
分析U-Boot或者是分析Linux内核这些庞大的代码量时,我们应该首先去阅读它的顶层Makefile文件,它会告诉你,这些如何编译这么一系列的文件。这就如同你去到一个陌生的大城市,首先你要买一张地图,才能更好的去了解这座城市。进入顶层的Makefile里面有那么二句
  z5 ~& A% ?) D2 ^: E; j$ u  _0 ?
1884  EmbedSky_config : unconfig0 S$ u1 x: b! N8 |. n  R
1885       @$(MKCONFIG) $(@:_config=) ARM arm920t EmbedSky NULL s3c24x0
4 H& D( T0 Y0 S
* w$ L2 v7 h' Q0 M1 Y这是Makefile最基础语法之一,在语法上来说,EmbedSky_config是一个目标,unconfig是一个依赖,8 C/ S+ p2 H9 Z& ]. D" ?" `

. S  ?7 u1 @# T- C@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0就是一个命令。
4 A1 p! v: \3 h3 Z+ a0 a0 y
8 M3 M: t# X) v5 k0 q8 n* l9 ^, i6 w$ [5 C0 _

, ?  W$ `) G- y7 l9 p. aunconfig:
! g+ P3 W& b1 Z, I% `1 |) i" E  ?0 K. ~
             @rm -f $(obj)include/config.h $(obj)include/config.mk \   $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp2 t6 H" A+ N  P1 f

  b" D; |1 H* M& Y1 C/ u1 Z@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x09 i5 j! G" u3 H# f+ ~

# J1 X7 p) Z) [" f2 k: F $(@:_config=) 是什么意思呢?
% m% ^7 g% z; i, \( M. r8 l% Y+ y& N
$ A2 k5 B* `% \7 G* @* y% W这语法是利用了Makefile的替换功能,如:obj=$(srcfiles:%.c=%.o)就是将源文件里面的.c文件替换成.o文件,相对应的,$(@:_config=)就相当于$(EmbedSky_config:_config=) 将EmbedSky_config中的_config=空,也就是去掉_config,得到EmbedSky: H. E; C: l0 H* B+ j8 f
( r) p& H2 [8 e) @0 q
MKCONFIG其实就是根目录的脚本文件,这句的目的就是给脚本传递六个参数 所以上面的其实就是
( I8 [7 H, o0 f/ @" Q  F8 [/ `+ y: O/ ?' b; \* k+ |# H
./mkconfig  EmbedSky   arm   arm920t   EmbedSky  NULL   s3c24x0
9 P' u+ s( g8 \! }, r0 z7 p# d7 o: Q$ w% i; g+ {  U
    $0              $1              $2      $3                $4            $5        $6
3 C( c+ ~* j* Q% m
' Z; ^( g7 K1 X1 T/ f2 t接下来就分析顶层目录下的mkconfig这个脚本文件# t# p* c  [' m0 d8 M3 i" \
% a* S$ c# n& @
  Q$ S: M$ d9 \/ b- R

, T6 |% `" ]7 T( X8 e/ N( n1 x( r

该用户从未签到

2#
发表于 2020-4-24 15:13 | 只看该作者
U-Boot-1.1.6之顶层Makefile分析一
  • TA的每日心情

    2019-11-29 15:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-4-26 14:09 | 只看该作者
    Boot-1.1.6之顶层Makefile分析一
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-26 00:28 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表