binutils中objdump.exe的生成

 

快乐虾

http://blog.csdn.net/lights_joy/

[email protected]

 

 

本文适用于

binutils-2.18

configure –target=bfin-uclinux-gnu

Blackfin系列DSP

Cygwin gcc 3.4.4

 

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

 

 

1.1    objdump$(EXEEXT)

这条规则定义为:

objdump$(EXEEXT): $(objdump_OBJECTS) $(objdump_DEPENDENCIES)

       @rm -f objdump$(EXEEXT)

       $(LINK) $(objdump_LDFLAGS) $(objdump_OBJECTS) $(objdump_LDADD) $(LIBS)

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

1.1.1   $(objdump_OBJECTS)

这个变量定义为:

objdump_OBJECTS = $(am_objdump_OBJECTS)

am_objdump_OBJECTS = objdump.$(OBJEXT) dwarf.$(OBJEXT) prdbg.$(OBJEXT) /

       $(am__objects_2) $(am__objects_1)

am__objects_2 = rddbg.$(OBJEXT) debug.$(OBJEXT) stabs.$(OBJEXT) /

       ieee.$(OBJEXT) rdcoff.$(OBJEXT)

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

其中am__objects_1定义的目标已经生成,故有以下依赖关系:

1.1.1.1             objdump.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

objdump.o: objdump.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)/progress.h /

  bucomm.h dwarf.h $(INCDIR)/safe-ctype.h $(INCDIR)/dis-asm.h /

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

  $(INCDIR)/demangle.h $(INCDIR)/libiberty.h debug.h /

  budbg.h $(INCDIR)/aout/aout64.h

没什么,直接编译即可。

 

1.1.1.2             dwarf.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

dwarf.o: dwarf.c sysdep.h $(INCDIR)/ansidecl.h ../bfd/bfdver.h /

  config.h $(INCDIR)/fopen-same.h $(INCDIR)/libiberty.h /

  $(INCDIR)/ansidecl.h ../bfd/bfd.h $(INCDIR)/ansidecl.h /

  $(INCDIR)/symcat.h bucomm.h $(INCDIR)/elf/dwarf2.h /

  dwarf.h

没什么,直接编译即可。

 

1.1.1.3             prdbg.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

prdbg.o: prdbg.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)/demangle.h $(INCDIR)/libiberty.h debug.h /

  budbg.h

没什么,直接编译即可。

 

1.1.1.4             rddbg.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

rddbg.o: rddbg.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 /

  bucomm.h debug.h budbg.h

没什么,直接编译即可。

 

1.1.1.5             debug.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

debug.o: debug.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 /

  debug.h

没什么,直接编译即可。

 

1.1.1.6             stabs.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

stabs.o: stabs.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 $(INCDIR)/demangle.h $(INCDIR)/libiberty.h /

  debug.h budbg.h $(INCDIR)/filenames.h $(INCDIR)/aout/aout64.h /

  $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def

没什么,直接编译即可。

 

1.1.1.7             ieee.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

ieee.o: ieee.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)/ieee.h $(INCDIR)/libiberty.h /

  $(INCDIR)/ansidecl.h debug.h budbg.h $(INCDIR)/filenames.h

没什么,直接编译即可。

 

1.1.1.8             rdcoff.$(OBJEXT)

这个目标由通用规则完成:

.c.o:

       $(COMPILE) -c $<

且有以下依赖关系:

rdcoff.o: rdcoff.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)/coff/internal.h $(INCDIR)/libiberty.h /

  $(INCDIR)/ansidecl.h bucomm.h debug.h budbg.h $(BFDDIR)/libcoff.h /

  $(INCDIR)/bfdlink.h

没什么,直接编译即可。

1.1.2   $(objdump_DEPENDENCIES)

这个变量定义为:

objdump_DEPENDENCIES = $(LIBINTL_DEP) $(LIBIBERTY) $(BFDLIB) $(OPCODES)

LIBINTL_DEP =

LIBIBERTY = ../libiberty/libiberty.a

BFDLIB = ../bfd/libbfd.la

OPCODES = ../opcodes/libopcodes.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中objdump.exe的生成)