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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
分析U-Boot或者是分析Linux内核这些庞大的代码量时,我们应该首先去阅读它的顶层Makefile文件,它会告诉你,这些如何编译这么一系列的文件。这就如同你去到一个陌生的大城市,首先你要买一张地图,才能更好的去了解这座城市。进入顶层的Makefile里面有那么二句/ E1 W0 w; [8 D* f6 G& \
2 `3 }0 Y. y0 U2 |; j
1884  EmbedSky_config : unconfig- M" h# [& x% @( i! D5 c: {
1885       @$(MKCONFIG) $(@:_config=) ARM arm920t EmbedSky NULL s3c24x0
' l7 g8 @1 s+ Y( u8 X0 t% a9 ?$ x
' H( J0 h) z# N# ?这是Makefile最基础语法之一,在语法上来说,EmbedSky_config是一个目标,unconfig是一个依赖,
6 k0 Q3 U- q& ?* D( u' o# W2 f* f+ }5 e8 X4 ]" h
@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0就是一个命令。, [2 e: X  g2 V' w8 |
/ n+ q  a9 Y8 f, H
- K5 u* Y+ ]$ B$ o+ Q, k
& l9 i7 c$ b5 [  E7 Q; l9 Z# n
unconfig:8 I0 i0 q. T) f0 c, P& {* J

6 `) N# o( [! j             @rm -f $(obj)include/config.h $(obj)include/config.mk \   $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp8 L; i" n4 Y1 U$ n8 ^

: ]* \$ _- }, V2 |1 s2 Y; n@$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c24x0
8 h) o# P7 W6 _9 K9 M3 X' i7 y! K( D  O0 P* E
$(@:_config=) 是什么意思呢?
5 X" [. [1 d9 i- `9 t
" Y. q9 P, V& a2 [2 S! Y+ C2 Q这语法是利用了Makefile的替换功能,如:obj=$(srcfiles:%.c=%.o)就是将源文件里面的.c文件替换成.o文件,相对应的,$(@:_config=)就相当于$(EmbedSky_config:_config=) 将EmbedSky_config中的_config=空,也就是去掉_config,得到EmbedSky* U' |; `  W1 A1 U9 G" M# @8 z
; M$ h6 J9 k- `5 S
MKCONFIG其实就是根目录的脚本文件,这句的目的就是给脚本传递六个参数 所以上面的其实就是
8 v. D) e0 c- p4 w( P) }
3 \3 U' H9 [  G./mkconfig  EmbedSky   arm   arm920t   EmbedSky  NULL   s3c24x0
3 u2 ^4 R% ], h, z: k, `  M
8 O3 i8 N. V  ?( s! V4 \    $0              $1              $2      $3                $4            $5        $6, U9 V( W* b0 C7 C7 H2 h# \( |3 l
0 H/ v: G. w7 E6 v, d
接下来就分析顶层目录下的mkconfig这个脚本文件
, G: Q# K2 [% A4 x+ o9 D$ z2 C! ^  A4 M& l  C

# m9 d5 N4 ?7 p3 P0 v; j
% y6 u( Z# h  V9 Z3 U" s; J8 I8 Z
  • TA的每日心情

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

    [LV.1]初来乍到

    3#
    发表于 2020-4-26 14:09 | 只看该作者
    Boot-1.1.6之顶层Makefile分析一

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-26 05:42 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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