Chinaunix首页 | 论坛 | 博客
  • 博客访问: 206053
  • 博文数量: 47
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 455
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-04 13:34
文章分类

全部博文(47)

文章存档

2011年(1)

2009年(5)

2008年(41)

我的朋友

分类: LINUX

2008-06-13 19:48:34

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”。
阅读(1912) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~