Chinaunix首页 | 论坛 | 博客
  • 博客访问: 184246
  • 博文数量: 42
  • 博客积分: 606
  • 博客等级: 中士
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-14 15:51
文章分类

全部博文(42)

文章存档

2013年(3)

2012年(39)

我的朋友

分类:

2012-03-16 16:29:02

vivi用的是QQ2440光盘中提供的vivi.tgz, 版本是rel-1-0-1 laputa。

瘦身活动
#tar xf vivi.tgz
#cd vivi  
vivi目录下有用的目录和文件为:arch drivers include init lib scrīpts Makefile Rules.make
蓝色的为目录,其余为文件,其它的目录和文件在分析时可以删除。

情景1:make config
#cd vivi
#make config
root@trans1:~/arm/linux/myvivi/vivi# make config
/bin/sh scrīpts/Configure arch/config.in
#
# Using defaults found in .config
#
*
* System Type
*
ARM system type (SA1100-based, PXA250/210-based, S3C2400-based, S3C2410-based, S3C2440-based) [S3C2440-based]

按照提示一路下来(先不管选择的选项是否正确),最后得到的配置文件是.config和arch/autoconf.h, 可以用#ls -a命令查看.config,autoconf.h也可以用同样的方法查看
root@trans1:~/arm/linux/myvivi/vivi# ls -a
.   a     .config   .config.old  include  lib       Makefile~   scrīpts
..  arch  .configa  drivers      init     Makefile  Rules.make  smdk2440

那由make config怎么得到.config和autoconf.h的呢?下面请随我一路看来
我们首先由Makefile入手
root@trans1#vi Makefile
130行
config:
        $(CONFIG_SHELL) scrīpts/Configure arch/config.in

9行
CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
        else if [ -x /bin/bash ]; then echo /bin/bash; \
        else echo sh; fi ; fi)

从130 行我们可以看到,make config的操作是$(CONFIG_SHELL),执行的是“scrīpts/Configure”程序, 输入参数为“arch/config.in”。对于$(CONFIG_SHELL),则在第9行有赋值,主要意思就是找系统的shell。我们可以在 config:下加上一行“echo $(CONFIG_SHELL)”来查看这个到底是什么,在我的机器上显示为“/bin/sh”。
阅读(642) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~