Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77650
  • 博文数量: 28
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 351
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-15 13:18
个人简介

I bet you dont want to know.

文章分类

全部博文(28)

分类: LINUX

2008-07-31 21:25:58

# 文件中去掉了不相关的部分

# OBJS变量的赋值,用于标识所有的.o文件(目标文件)
OBJS  = cpu/$(CPU)/start.o
ifeq ($(CPU),i386)
OBJS += cpu/$(CPU)/start16.o
OBJS += cpu/$(CPU)/reset.o
endif

# LIBS变量的赋值,用于标识所有的.a文件(库文件)
LIBS  = lib_generic/libgeneric.a
LIBS += board/$(BOARDDIR)/lib$(BOARD).a

LIBS += common/libcommon.a
#######################################################################
# ALL为生成的目标文件
ALL = u-boot.srec u-boot.bin System.map
# 伪定义用于生成$(ALL)指定的文件
all:  $(ALL)
# u-boot.srec文件依赖于u-boot文件
u-boot.srec: u-boot
  $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@

# u-boot文件的生成,依赖于SUBDIRS,OBJS,LIBS和LDSCRIPT
u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e \
's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
# LD命令根据指定的命令参数连接OBJS,LIBS文件最终生成u-boot.map和u-boot。
  $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
   --start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
   -Map u-boot.map -o u-boot
# 定义clean伪目标,用于清除编译产生的文件
clean:
 rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr

 rm -f board/trab/trab_fkt
# 以下是配置相关的内容
#######################################################################
# 每次进行重新配置的时候都要执行下面的这段代码, 用于清除上个工程留下的文件
unconfig:
 @rm -f include/config.h include/config.mk board/*/config.tmp
######################################################################
## XScale Systems
######################################################################
# 这里是针对PXA处理器的相关开发板
lubbock_config : unconfig
 @./mkconfig $(@:_config=) arm pxa Lubbock
# 下面增加了我们自己的开发板的配置信息, 内容与上面类似, 不同的是开发板名称
psbec270_config : unconfig
 @./mkconfig $(@:_config=) arm pxa psbec270
# 注意到执行上面的config的时候要执行./mkconfig脚本程序, 该程序用于创建头文件,
# 配置uboot使之适应指定的开发板, 调用该脚本程序的时候传入4参数, 分别是:
# $(@:_config=), arm, pxa, psbec270.
# 注意第一个参数$(@:_config=), $@就是本次配置的目标psbec270_config, 然后用
# 替换命令将字符串_config替换为空, 最后将得到psbec270, 由此可以看出, 最后执行
# 的命令是:
# @./mkconfig psbec270 arm pxa psbec270

# 脚本程序见下面分析.
 
(本文章发表于psbec的个人blog,未经本人许可,不得用于商业用途。任何个人、媒体、其他网站不得私自抄袭;网络媒体转载请注明出处,增加原文链接,否则属于侵权行为。如有任何问题,请留言或者发邮件给psbec,地址)
 
阅读(1049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~