网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 技术交流 >> 文章正文
  bfin-xxx-gcc中objc目标的生成           ★★★ 【字体:
bfin-xxx-gcc中objc目标的生成
作者:快乐虾    文章来源:http://blog.csdn.net/lights_joy    点击数:    更新时间:2008-8-27    

这个目标并不是放在gcc/Makefile中,而是在gcc/objc/Make-lang.in文件中,然后在gcc/Makefile中有这个的语句:

LANG_MAKEFRAGS =  $(srcdir)/ada/Make-lang.in $(srcdir)/cp/Make-lang.in $(srcdir)/fortran/Make-lang.in $(srcdir)/java/Make-lang.in $(srcdir)/objc/Make-lang.in $(srcdir)/objcp/Make-lang.in $(srcdir)/treelang/Make-lang.in

ifneq ($(LANG_MAKEFRAGS),)

include $(LANG_MAKEFRAGS)

endif

这样就包含了gcc/java/Make-lang.in。在此文件中是这样定义java这条规则的:

objc: cc1obj$(exeext)

cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) $(LIBDEPS)

       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \

             $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \

             $(BACKEND) $(LIBS) $(GMPLIBS)

最终的结果将链接生成cc1obj.exe文件。

1.1.1.1             $(OBJC_OBJS)

这个变量定义为:

OBJC_OBJS = objc/objc-lang.o objc/objc-act.o

1.1.1.1.1       objc/objc-lang.o

这个文件适用于通用规则:

.c.o:

       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION);\

同时有下列依赖关系:

objc/objc-lang.o : objc/objc-lang.c \

   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \

   $(C_TREE_H) $(DIAGNOSTIC_H) \

   $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-objc.h \

   c-objc-common.h objc/objc-act.h $(TREE_GIMPLE_H)

由于所需要的目标都已经生成,直接编译即可。

 

1.1.1.1.2       objc/objc-act.o

这个文件适用于通用规则:

.c.o:

       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION);\

同时有下列依赖关系:

objc/objc-act.o : objc/objc-act.c \

   $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) $(TM_P_H) \

   $(EXPR_H) $(TARGET_H) $(C_TREE_H) $(DIAGNOSTIC_H) toplev.h $(FLAGS_H) \

   objc/objc-act.h input.h $(FUNCTION_H) output.h debug.h langhooks.h \

   $(LANGHOOKS_DEF_H) $(HASHTAB_H) $(C_PRAGMA_H) gt-objc-objc-act.h \

   $(TREE_GIMPLE_H)

由于所需要的目标都已经生成,直接编译即可。

 

1.1.1.2             $(C_AND_OBJC_OBJS)

这个变量定义为:

C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \

  c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \

  c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \

  c-objc-common.o c-dump.o c-pch.o c-parser.o $(C_TARGET_OBJS) \

  c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o

由于所需要的目标都已经生成,直接略过。

 

1.1.1.3             cc1obj-checksum.o

这个文件适用于通用规则:

.c.o:

       $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION);\

同时有下列依赖关系:

cc1obj-checksum.o : cc1obj-checksum.c

cc1obj-checksum.c : cc1obj-dummy$(exeext) build/genchecksum$(build_exeext)

       build/genchecksum$(build_exeext) cc1obj-dummy$(exeext) > $@

在这里genchecksum.exe已经生成,因而需要生成cc1obj-dummy.exe,这个文件的依赖关系为:

cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)

       $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \

             $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \

             $(BACKEND) $(LIBS) $(GMPLIBS)

所有目标均已生成,直接链接即可。

 

1.1.1.4             $(BACKEND)

此目标在生成cc1.exe时即已生成,略过。

1.1.1.5             $(LIBDEPS)

此目标在生成cc1.exe时即已生成,略过。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    前置放大器在移动医疗服务系
    便携式多通道大容量生理信号
    防腐监测仪的设计与应用
    基于AD1674的酶标仪的设计
    基于C/S模式的JRTPLIB库的测
    ffmpeg与jrtplib相结合应用
    blackfin模拟摄像头驱动中的
    可编程逻辑在数字信号处理系
    发现VDSP4.5一个BUG:单步调
    VDSP5.0双核工程下sml3中的变
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号