binutils中strings.exe的生成

本文详细解析了Binutils-2.18中strings.exe的生成过程,包括配置选项、依赖项及具体编译步骤。适合对Blackfin DSP及Cygwin gcc 3.4.4环境下工具链构建感兴趣的读者。

 

快乐虾

http://blog.youkuaiyun.com/lights_joy/

lights@hb165.com

 

 

本文适用于

binutils-2.18

configure –target=bfin-uclinux-gnu

Blackfin系列DSP

Cygwin gcc 3.4.4

   

欢迎转载,但请保留作者信息

 

1.1    strings$(EXEEXT)

这条规则定义为:

strings$(EXEEXT): $(strings_OBJECTS) $(strings_DEPENDENCIES)

       @rm -f strings$(EXEEXT)

       $(LINK) $(strings_LDFLAGS) $(strings_OBJECTS) $(strings_LDADD) $(LIBS)

在目标生成后将它们链接为strings.exe

1.1.1   $(strings_OBJECTS)

这个变量定义为:

am_strings_OBJECTS = strings.$(OBJEXT) $(am__objects_1)

strings_OBJECTS = $(am_strings_OBJECTS)

am__objects_1 = bucomm.$(OBJEXT) version.$(OBJEXT) filemode.$(OBJEXT)

其中am__objects_1已经生成,故这个目标只剩下strings.o。它由通用规则生成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

strings.o: strings.c sysdep.h $(INCDIR)/ansidecl.h /

  ../bfd/bfdver.h config.h $(INCDIR)/fopen-same.h ../bfd/bfd.h /

  $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/libiberty.h /

  $(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h bucomm.h

没什么,直接编译即可。

 

1.1.2   $(strings_DEPENDENCIES)

这个变量定义为:

strings_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB)

LIBINTL_DEP =

LIBIBERTY = ../libiberty/libiberty.a

BFDLIB = ../bfd/libbfd.la

所需要的目标均已生成,略过。

 

 

参考资料

binutils-2.18/libiberty/Makefile分析 2008-8-27

binutils-2.18/bfd/Makefile分析( 2008-8-28 )

binutils-2.18/opcodes/Makefile分析( 2008-8-29 )

binutilssize.exe的生成( 2008-8-29 )

binutilsobjdump.exe的生成( 2008-8-29 )

binutilsar.exe的生成( 2008-8-29 )

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值