📄 makefile.in
字号:
GCC_FOR_TARGET="$${thisdir1}/xgcc -B$${thisdir1}/" \ GCC_CFLAGS="$(GCC_CFLAGS)" -rm -f libobjc.a ln objc/libobjc.a . >/dev/null 2>&1 || cp objc/libobjc.a . -if $(RANLIB_TEST) ; then $(RANLIB) libobjc.a; else true; fi# This is used by objc/Makefile if the user runs that directly.sublibobjc.a: cc1obj stmp-int-hdrs libgcc2.ready thisdir1=`pwd`; \ srcdir1=`cd $(srcdir); pwd`; \ cd objc; \ $(MAKE) -f $$srcdir1/objc/Makefile libobjc.a \ srcdir=$$srcdir1 tooldir=$(tooldir) AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" \ GCC_FOR_TARGET="$$thisdir1/xgcc -B$$thisdir1/" \ GCC_CFLAGS="$(GCC_CFLAGS)"# Compile two additional files that are linked with every program# linked using GCC on systems using COFF or ELF, for the sake of C++# constructors.crtbegin.o: stamp-crt ; @truecrtend.o: stamp-crt; @truestamp-crt: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ -DCRT_BEGIN -finhibit-size-directive -fno-inline-functions \ -g0 -c $(srcdir)/crtstuff.c mv crtstuff$(objext) crtbegin$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ -DCRT_END -finhibit-size-directive -fno-inline-functions \ -g0 -c $(srcdir)/crtstuff.c mv crtstuff$(objext) crtend$(objext) touch stamp-crt# On some systems we also want to install versions of these files# compiled using PIC for use in shared libraries.crtbeginS.o crtendS.o: stamp-crtS ; @truestamp-crtS: stamp-crt crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ -DCRT_BEGIN -finhibit-size-directive -fno-inline-functions \ -g0 -c $(srcdir)/crtstuff.c -fPIC mv crtstuff$(objext) crtbeginS$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \ -DCRT_END -finhibit-size-directive -fno-inline-functions \ -g0 -c $(srcdir)/crtstuff.c -fPIC mv crtstuff$(objext) crtendS$(objext) touch stamp-crtS# Compiling object files from source files.# Note that dependencies on obstack.h are not written# because that file is not part of GCC.# C language specific files.c-parse.o : $(srcdir)/c-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \ $(srcdir)/c-parse.h c-tree.h input.h flags.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/c-parse.c$(srcdir)/c-parse.h: $(srcdir)/c-parse.c$(srcdir)/c-parse.c: $(srcdir)/c-parse.y cd $(srcdir); $(BISON) $(BISONFLAGS) -d c-parse.y -o c-parse.c$(srcdir)/c-parse.y: c-parse.in sed -e "/^ifobjc$$/,/^end ifobjc$$/d" \ -e "/^ifc$$/d" -e "/^end ifc$$/d" \ $(srcdir)/c-parse.in >tmp-c-parse.y $(srcdir)/move-if-change tmp-c-parse.y $(srcdir)/c-parse.y$(srcdir)/c-gperf.h: c-parse.gperf gperf -p -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,$$ \ $(srcdir)/c-parse.gperf >tmp-gperf.h $(srcdir)/move-if-change tmp-gperf.h $(srcdir)/c-gperf.hc-decl.o : c-decl.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h output.hc-typeck.o : c-typeck.c $(CONFIG_H) $(TREE_H) c-tree.h flags.h output.hc-lang.o : c-lang.c $(CONFIG_H) $(TREE_H)c-lex.o : c-lex.c $(CONFIG_H) $(TREE_H) c-lex.h c-tree.h $(srcdir)/c-parse.h \ input.h flags.h $(srcdir)/c-gperf.h c-pragma.hc-aux-info.o : c-aux-info.c $(CONFIG_H) $(TREE_H) c-tree.h flags.hc-convert.o : c-convert.c $(CONFIG_H) $(TREE_H) flags.hc-pragma.o: c-pragma.c $(CONFIG_H) $(TREE_H) c-pragma.hc-iterate.o: c-iterate.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h flags.h# To make a configuration always use collect2, set USE_COLLECT2 to ld.ld: collect2 rm -f ld$(exeext) ln collect2$(exeext) ld$(exeext) > /dev/null 2>&1 \ || cp collect2$(exeext) ld$(exeext)collect2 : collect2.o cplus-dem.o underscore.o version.o $(LIBDEPS)# Don't try modifying collect2 (aka ld) in place--it might be linking this. -rm -f collect2$(exeext) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ collect2.o \ cplus-dem.o underscore.o version.o $(LIBS)collect2.o : collect2.c $(CONFIG_H) gstab.h obstack.h demangle.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -DTARGET_MACHINE=\"$(target)\" $(MAYBE_USE_COLLECT2) \ -c `echo $(srcdir)/collect2.c | sed 's,^\./,,'`cplus-dem.o: cplus-dem.c demangle.hunderscore.c: stamp-under ; @truestamp-under: $(GCC_PASSES) echo "int xxy_us_dummy;" >tmp-dum.c $(GCC_FOR_TARGET) -S tmp-dum.c echo '/*WARNING: This file is automatically generated!*/' >tmp-under.c if grep _xxy_us_dummy tmp-dum.s > /dev/null ; then \ echo "int prepends_underscore = 1;" >>tmp-under.c; \ else \ echo "int prepends_underscore = 0;" >>tmp-under.c; \ fi $(srcdir)/move-if-change tmp-under.c underscore.c -rm -f tmp-dum.c tmp-dum.s touch stamp-under# Objective C language specific files.objc-parse.o : $(srcdir)/objc-parse.c $(CONFIG_H) $(TREE_H) c-lex.h \ c-tree.h input.h flags.h objc-act.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c $(srcdir)/objc-parse.c$(srcdir)/objc-parse.c : $(srcdir)/objc-parse.y cd $(srcdir); $(BISON) $(BISONFLAGS) objc-parse.y -o objc-parse.c$(srcdir)/objc-parse.y: $(srcdir)/c-parse.in sed -e "/^ifc$$/,/^end ifc$$/d" \ -e "/^ifobjc$$/d" -e "/^end ifobjc$$/d" \ $(srcdir)/c-parse.in >tmp-objc-prs.y $(srcdir)/move-if-change tmp-objc-prs.y $(srcdir)/objc-parse.yobjc-act.o : objc-act.c $(CONFIG_H) $(TREE_H) $(RTL_H) c-tree.h c-lex.h \ flags.h objc-act.h input.h function.h $(srcdir)/c-parse.h# A file used by all variants of C.c-common.o : c-common.c $(CONFIG_H) $(TREE_H) c-tree.h c-lex.h flags.h# Language-independent files.gcc.o: gcc.c $(CONFIG_H) multilib.h config.status $(lang_specs_files) $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \ -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \ -DDEFAULT_TARGET_VERSION=\"$(version)\" \ -DDEFAULT_TARGET_MACHINE=\"$(target)\" \ -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\" \ $(MAYBE_TARGET_DEFAULT) \ -c `echo $(srcdir)/gcc.c | sed 's,^\./,,'`dumpvers: dumpvers.cversion.o: version.cobstack.o: obstack.cconvert.o: convert.c $(CONFIG_H) $(TREE_H) flags.h convert.htree.o : tree.c $(CONFIG_H) $(TREE_H) flags.h function.hprint-tree.o : print-tree.c $(CONFIG_H) $(TREE_H)stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) flags.h function.hfold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) bytecode.h bc-emit.h \ flags.h input.h insn-attr.h xcoffout.h defaults.h output.h \ $(lang_options_files) $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(MAYBE_TARGET_DEFAULT) $(MAYBE_USE_COLLECT2) \ -c `echo $(srcdir)/toplev.c | sed 's,^\./,,'`rtl.o : rtl.c $(CONFIG_H) $(RTL_H)print-rtl.o : print-rtl.c $(CONFIG_H) $(RTL_H)rtlanal.o : rtlanal.c $(CONFIG_H) $(RTL_H)varasm.o : varasm.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h function.h \ defaults.h insn-codes.h expr.h hard-reg-set.h regs.h xcoffout.h \ output.h bytecode.h c-pragma.hfunction.o : function.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h \ insn-flags.h insn-codes.h expr.h regs.h hard-reg-set.h insn-config.h \ recog.h output.h bytecode.hstmt.o : stmt.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h \ insn-flags.h insn-config.h insn-codes.h hard-reg-set.h expr.h loop.h \ recog.h bytecode.h bc-typecd.h bc-typecd.def bc-opcode.h bc-optab.h \ bc-emit.hexpr.o : expr.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h function.h regs.h \ insn-flags.h insn-codes.h expr.h insn-config.h recog.h output.h \ typeclass.h bytecode.h bc-opcode.h bc-typecd.h bc-typecd.def bc-optab.h \ bc-emit.h modemap.defcalls.o : calls.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h \ insn-flags.hexpmed.o : expmed.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \ insn-flags.h insn-config.h insn-codes.h expr.h recog.h real.hexplow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h hard-reg-set.h \ insn-config.h expr.h recog.h insn-flags.h insn-codes.hoptabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \ insn-flags.h insn-config.h insn-codes.h expr.h recog.h reload.hdbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h regs.h \ insn-config.h reload.h gstab.h xcoffout.h defaults.h output.hsdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) gsyms.h flags.h \ insn-config.h reload.hdwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \ insn-config.h reload.h output.h defaults.hxcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoffout.h flags.hemit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \ function.h regs.h insn-config.h insn-codes.h real.h expr.h bytecode.h \ bc-opcode.h bc-typecd.h bc-typecd.def bc-optab.h bc-emit.h bc-opname.hreal.o : real.c $(CONFIG_H) $(TREE_H)getpwd.o : getpwd.c $(CONFIG_H)integrate.o : integrate.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h integrate.h \ insn-flags.h insn-config.h insn-codes.h expr.h real.h function.h \ bytecode.hjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h hard-reg-set.h regs.h \ insn-config.h insn-flags.h insn-codes.h expr.h real.hstupid.o : stupid.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.hcse.o : cse.c $(CONFIG_H) $(RTL_H) regs.h hard-reg-set.h flags.h real.h \ insn-config.h recog.hloop.o : loop.c $(CONFIG_H) $(RTL_H) flags.h loop.h insn-config.h \ insn-flags.h insn-codes.h regs.h hard-reg-set.h recog.h expr.h real.hunroll.o : unroll.c $(CONFIG_H) $(RTL_H) insn-config.h insn-codes.h \ integrate.h regs.h flags.h expr.h loop.hflow.o : flow.c $(CONFIG_H) $(RTL_H) flags.h insn-config.h \ basic-block.h regs.h hard-reg-set.h output.hcombine.o : combine.c $(CONFIG_H) $(RTL_H) flags.h \ insn-config.h insn-flags.h insn-codes.h insn-attr.h regs.h expr.h \ basic-block.h recog.h real.h hard-reg-set.hregclass.o : regclass.c $(CONFIG_H) $(RTL_H) hard-reg-set.h flags.h \ basic-block.h regs.h insn-config.h recog.h reload.h real.h bytecode.hlocal-alloc.o : local-alloc.c $(CONFIG_H) $(RTL_H) flags.h basic-block.h \ regs.h hard-reg-set.h insn-config.h recog.h output.hglobal.o : global.c $(CONFIG_H) $(RTL_H) flags.h \ basic-block.h regs.h hard-reg-set.h insn-config.h output.hreload.o : reload.c $(CONFIG_H) $(RTL_H) flags.h output.h \ reload.h recog.h hard-reg-set.h insn-config.h insn-codes.h regs.h real.hreload1.o : reload1.c $(CONFIG_H) $(RTL_H) real.h flags.h expr.h \ reload.h regs.h hard-reg-set.h insn-config.h insn-flags.h insn-codes.h \ basic-block.h recog.h output.hcaller-save.o : caller-save.c $(CONFIG_H) $(RTL_H) flags.h \ regs.h hard-reg-set.h insn-codes.h insn-config.h basic-block.h recog.h \ reload.h expr.hreorg.o : reorg.c $(CONFIG_H) $(RTL_H) conditions.h hard-reg-set.h \ basic-block.h regs.h insn-config.h insn-attr.h insn-flags.h recog.h \ flags.h output.hsched.o : sched.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h \ flags.h insn-config.h insn-attr.hfinal.o : final.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h regs.h \ recog.h conditions.h insn-config.h insn-attr.h real.h output.h \ hard-reg-set.h insn-flags.h insn-codes.h gstab.h xcoffout.h defaults.hrecog.o : recog.c $(CONFIG_H) $(RTL_H) \ regs.h recog.h hard-reg-set.h flags.h insn-config.h insn-attr.h \ insn-flags.h insn-codes.h real.hreg-stack.o : reg-stack.c $(CONFIG_H) $(RTL_H) $(TREE_H) \ regs.h hard-reg-set.h flags.h insn-config.h$(out_object_file): $(out_file) $(CONFIG_H) $(TREE_H) \ $(RTL_H) regs.h hard-reg-set.h real.h insn-config.h conditions.h \ insn-flags.h output.h insn-attr.h insn-codes.h $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(out_file)# Build auxiliary files that support ecoff format.mips-tfile: mips-tfile.o version.o $(LIBDEPS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)mips-tfile.o : mips-tfile.c $(CONFIG_H) $(RTL_H)mips-tdump: mips-tdump.o version.o $(LIBDEPS) $(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tdump.o version.o $(LIBS)mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H)# Build file to support OSF/rose half-pic format.halfpic.o: halfpic.c $(CONFIG_H) $(RTL_H) $(TREE_H)# Normally this target is not used; but it is used if you# define ALLOCA=alloca.o. In that case, you must get a suitable alloca.c# from the GNU Emacs distribution.alloca.o: alloca.c $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ALLOCA_FLAGS) \ -c `echo $(srcdir)/alloca.c | sed 's,^\./,,'` $(ALLOCA_FINISH)# Generate header and source files from the machine description, # and compile them..PRECIOUS: insn-config.h insn-flags.h insn-codes.h \ insn-emit.c insn-recog.c insn-extract.c insn-output.c insn-peep.c \ insn-attr.h insn-attrtab.c# The following pair of rules has this effect:# genconfig is run only if the md has changed since genconfig was last run;# but the file insn-config.h is touched only when its contents actually change.# Each of the other insn-* files is handled by a similar pair of rules.# This causes an anomaly in the results of make -n# because insn-* is older than stamp-*# and thus make -n thinks that insn-* will be updated# and force recompilation of things that depend on it.# We use move-if-change precisely to avoid such recompilation.# But there is no way to teach make -n that it will be avoided.# Each of the insn-*.[ch] rules has a semicolon at the end,# for otherwise the system Make on SunOS 4.1 never tries# to recompile insn-*.o. To avoid problems and extra noise from# versions of make which don't like empty commands (nothing after the# trailing `;'), we call true for each.insn-config.h: stamp-config ; @truestamp-config : $(md_file) genconfig $(srcdir)/move-if-change ./genconfig $(md_file) > tmp-config.h $(srcdir)/move-if-change tmp-config.h insn-config.h touch stamp-configinsn-flags.h: stamp-flags ; @truestamp-flags : $(md_file) genflags $(srcdir)/move-if-change ./genflags $(md_file) > tmp-flags.h $(srcdir)/move-if-change tmp-flags.h insn-flags.h touch stamp-flagsinsn-codes.h: stamp-codes ; @truestamp-codes : $(md_file) gencodes $(srcdir)/move-if-change ./gencodes $(md_file) > tmp-codes.h $(srcdir)/move-if-change tmp-codes.h insn-codes.h touch stamp-codesinsn-emit.o : insn-emit.c $(CONFIG_H) $(RTL_H) expr.h real.h output.h \ insn-config.h insn-flags.h insn-codes.h $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -c insn-emit.cinsn-emit.c: stamp-emit ; @truestamp-emit : $(md_file) genemit $(srcdir)/move-if-change ./genemit $(md_file) > tmp-emit.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -