⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.in

📁 GCC编译器源代码
💻 IN
📖 第 1 页 / 共 5 页
字号:
	  else \	    echo $${name}; \	    if [ $${name}.asm = $${file} ]; then \	      cp $${file} $${name}.s || exit 1; file=$${name}.s; \	    else true; fi; \	    $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c $${file}; \	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	    $(AR) $(AR_FLAGS) tmplibgcc2.a $${oname}$(objext); \	    rm -f $${name}.s $${oname}$(objext); \	  fi; \	done	mv tmplibgcc2.a libgcc2.a# These lines were deleted from above the mv command# because ranlibing libgcc.a itself should suffice.#	-if [ x${HPUX_GAS} = x ] ; then \#	  if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc2.a; else true; fi; \#	else true; fi# Combine the various libraries into a single library, libgcc.a.libgcc.a: $(LIBGCC1) $(LIBGCC2)	-rm -rf tmplibgcc.a libgcc.a tmpcopy	mkdir tmpcopy	-if [ x$(LIBGCC1) != x ];			\	then (cd tmpcopy; $(AR) x ../$(LIBGCC1));	\	else true;					\	fi# Some versions of ar (specifically the one in RISC/os 5.x), create an# unwritable table of contents file, and then print an error message when# the second ar command tries to overwrite this file.  To avoid the error# message from ar, we make sure all files are writable.	-(cd tmpcopy; chmod +w * > /dev/null 2>&1)	(cd tmpcopy; $(AR) x ../$(LIBGCC2))	(cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *$(objext))	rm -rf tmpcopy	-if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc.a; else true; fi# Actually build it in tmplibgcc.a, then rename at end,# so that libgcc.a itself remains nonexistent if compilation is aborted.	mv tmplibgcc.a libgcc.a# Use the genmultilib shell script to generate the information the gcc# driver program needs to select the library directory based on the# switches.multilib.h: stamp-mlib; @truestamp-mlib: $(srcdir)/genmultilib Makefile	$(SHELL) $(srcdir)/genmultilib \	  "$(MULTILIB_OPTIONS)" \	  "$(MULTILIB_DIRNAMES)" \	  "$(MULTILIB_MATCHES)" \	  "$(MULTILIB_EXCEPTIONS)" \	  "$(MULTILIB_EXTRA_OPTS)" > tmp-mlib.h	$(srcdir)/move-if-change tmp-mlib.h multilib.h	touch stamp-mlib# Build multiple copies of libgcc.a, one for each target switch.stmp-multilib: $(LIBGCC1) libgcc2.c libgcc2.ready $(CONFIG_H) \   frame.h gansidecl.h \   $(LIB2ADD) machmode.h longlong.h gbl-ctors.h config.status	for i in `$(GCC_FOR_TARGET) --print-multi-lib`; do \	  dir=`echo $$i | sed -e 's/;.*$$//'`; \	  flags=`echo $$i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \	    RANLIB="$(RANLIB)" RANLIB_TEST="$(RANLIB_TEST)" \	    LANGUAGES="$(LANGUAGES)" \	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \	    LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS) $${flags}" \	    MULTILIB_CFLAGS="$${flags}" \	    LIBGCC1="$(LIBGCC1)" LIBGCC2="$(LIBGCC2)" \	    dir="$${dir}" stmp-multilib-sub; \	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	done	touch stmp-multilib# Subroutine of stmp-multilib so make -n works.stmp-multilib-sub:	rm -f $(LIBGCC2)	if [ -d $(dir) ]; then \	  cd $(dir); \	  rm -f libgcc.a $(EXTRA_MULTILIB_PARTS); \	else true; \	fi	$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \	  AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \	  HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \	  LANGUAGES="$(LANGUAGES)" \	  LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)" $(LIBGCC2)	if [ x$(LIBGCC1) != xlibgcc1-asm.a ]; \	then true; \	else rm -f $(LIBGCC1); \	fi	if [ x$(LIBGCC1) != xlibgcc1-asm.a ]; \	then true; \	else \	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \	    LANGUAGES="$(LANGUAGES)" \	    LIBGCC2_CFLAGS="$(LIBGCC2_CFLAGS)" $(LIBGCC1); \	fi	rm -rf tmplibgcc.a tmpcopy	mkdir tmpcopy	if [ x$(LIBGCC1) != x ]; \	then (cd tmpcopy; $(AR) x ../$(LIBGCC1)); \	else true; \	fi	(cd tmpcopy; $(AR) x ../$(LIBGCC2))	(cd tmpcopy; $(AR) $(AR_FLAGS) ../tmplibgcc.a *$(objext))	rm -rf libgcc2.a tmpcopy	if $(RANLIB_TEST) ; then $(RANLIB) tmplibgcc.a; else true; fi	if [ -d $(dir) ]; then true; else mkdir $(dir); fi	mv tmplibgcc.a $(dir)/libgcc.a	for f in .. $(EXTRA_MULTILIB_PARTS); do if [ x$${f} != x.. ]; then \	  $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \	    AR="$(AR)" AR_FLAGS="$(AR_FLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" \	    HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \	    LANGUAGES="$(LANGUAGES)" \	    MULTILIB_CFLAGS="$(MULTILIB_CFLAGS)" T="t" t$${f}; \	  mv t$${f} $(dir)/$${f}; \	else true; \	fi; done# 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.$(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \  defaults.h frame.h gbl-ctors.h	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \	  -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS) \	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN -o $(T)crtbegin$(objext)$(T)crtend.o: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \  defaults.h frame.h gbl-ctors.h	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \	  -finhibit-size-directive -fno-inline-functions -fno-exceptions $(CRTSTUFF_T_CFLAGS) \	  -c $(srcdir)/crtstuff.c -DCRT_END -o $(T)crtend$(objext)# 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: crtstuff.c $(GCC_PASSES) $(CONFIG_H) \  defaults.h frame.h gbl-ctors.h	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS_S) \	  -DCRT_BEGIN -finhibit-size-directive -fno-inline-functions \	  -g0 -c $(srcdir)/crtstuff.c 	mv crtstuff$(objext) crtbeginS$(objext)	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS_S) \	  -DCRT_END -finhibit-size-directive -fno-inline-functions \	  -g0 -c $(srcdir)/crtstuff.c -o crtendS$(objext)	touch stamp-crtS# Compile the start modules crt0.o and mcrt0.o that are linked with every programcrt0.o: stamp-crt0 ; @truemcrt0.o: stamp-crt0; @truestamp-crt0:	$(CRT0_S) $(MCRT0_S) $(GCC_PASSES) $(CONFIG_H)	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \	  -o crt0.o -c $(CRT0_S)	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(CRT0STUFF_T_CFLAGS) \	  -o mcrt0.o -c $(MCRT0_S)	touch stamp-crt0## 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	echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y	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) except.h function.h \    defaults.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 \	choose-temp.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 choose-temp.o $(LIBS)collect2.o : collect2.c $(CONFIG_H) gansidecl.h gstab.h obstack.h $(DEMANGLE_H)	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)  \	-DTARGET_MACHINE=\"$(target_alias)\" $(MAYBE_USE_COLLECT2) \	-c `echo $(srcdir)/collect2.c | sed 's,^\./,,'`cplus-dem.o: cplus-dem.c $(DEMANGLE_H)underscore.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# 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.DRIVER_DEFINES = \  -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \  -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \  -DDEFAULT_TARGET_VERSION=\"$(version)\" \  -DDEFAULT_TARGET_MACHINE=\"$(target_alias)\" \  -DTOOLDIR_BASE_PREFIX=\"$(exec_prefix)/\"gcc.o: gcc.c $(CONFIG_H) gansidecl.h multilib.h Makefile $(lang_specs_files)	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \  $(DRIVER_DEFINES) \  -c `echo $(srcdir)/gcc.c | sed 's,^\./,,'`dumpvers: dumpvers.cversion.o: version.cobstack.o: obstack.c $(CONFIG_H)choose-temp.o: choose-temp.c $(CONFIG_H) gansidecl.hpexecute.o: pexecute.c $(CONFIG_H) gansidecl.hprefix.o: prefix.c $(CONFIG_H) gansidecl.h Makefile	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \	-DPREFIX=\"$(prefix)\" \	  -c `echo $(srcdir)/prefix.c | sed 's,^\./,,'`convert.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_USE_COLLECT2) \	  -DTARGET_NAME=\"$(target_alias)\" \	  -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.h bc-emit.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 except.h \   loop.h $(RECOG_H) bytecode.h bc-typecd.h bc-typecd.def bc-opcode.h \   bc-optab.h bc-emit.hexcept.o : except.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 except.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.def hard-reg-set.hcalls.o : calls.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h expr.h insn-codes.h \   insn-flags.h regs.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) flags.h except.h \   function.h expr.h output.h hard-reg-set.h regs.h defaults.h real.h \   insn-config.h bytecode.h obstack.h xcoffout.h c-pragma.hdwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \   insn-config.h reload.h output.h defaults.hdwarf2out.o : dwarf2out.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf2.h flags.h \   insn-config.h reload.h output.h defaults.h hard-reg-set.h regs.h expr.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 except.h \   function.h regs.h insn-config.h $(RECOG_H) real.h expr.h obstack.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 regs.h function.h \   bytecode.h output.h $(RECOG_H) except.hjump.o : jump.c $(CONFIG_H) $(RTL_H) flags.h hard-reg-set.h regs.h \   insn-config.h insn-flags.h $(RECOG_H) expr.h real.h except.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_H) expr.hprofile.o : profile.c $(CONFIG_H) $(RTL_H) flags.h insn-flags.h gcov-io.h \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -