快乐虾
http://blog.csdn.net/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 )
binutils中size.exe的生成( 2008-8-29 )
binutils中objdump.exe的生成( 2008-8-29 )
binutils中ar.exe的生成( 2008-8-29 )