📄 makefile.in
字号:
# List of things which should already be built whenever we try to use xgcc# to link anything.GCC_PARTS=$(GCC_PASSES) $(LIBGCC) $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS)# Directory to link to, when using the target `maketest'.DIR = ../gcc# Guaranteed to not exist when not passing md through cpp.# This value is overridden directly by configure.MD_FILE = md-cpp-not-used# Flags to use when cross-building GCC.# Prefix to apply to names of object files when using them# to run on the machine we are compiling on.HOST_PREFIX=# Prefix to apply to names of object files when compiling them# to run on the machine we are compiling on.# The default for this variable is chosen to keep these rules # out of the way of the other rules for compiling the same source files.HOST_PREFIX_1=loser-HOST_CC=$(CC)HOST_CFLAGS=$(ALL_CFLAGS)HOST_CLIB=$(CLIB)HOST_LDFLAGS=$(LDFLAGS)HOST_CPPFLAGS=$(ALL_CPPFLAGS)HOST_ALLOCA=$(ALLOCA)HOST_MALLOC=$(MALLOC)HOST_OBSTACK=$(OBSTACK)# Actual name to use when installing a native compiler.GCC_INSTALL_NAME = `t='$(program_transform_name)'; echo gcc | sed $$t`# Actual name to use when installing a cross-compiler.GCC_CROSS_NAME = `t='$(program_transform_cross_name)'; echo gcc | sed $$t`# Choose the real default target.ALL=all.internal# Choose the real install target.INSTALL_TARGET=install-normal# Source for float.h. Overridden by cross-make.FLOAT_H=float.h-nat# Extra symbols for fixproto to define when parsing headers.FIXPROTO_DEFINES = # Extra flags to use when compiling crt{begin,end}.o.CRTSTUFF_T_CFLAGS = # End of variables for you to override.# Definition of `all' is here so that new rules inserted by sed# do not specify the default target.# The real definition is under `all.internal' (for native compilers)# or `all.cross' (for cross compilers).all: all.indirect# This tells GNU Make version 3 not to put all variables in the environment..NOEXPORT:# sed inserts variable overrides after the following line.####target overrides####host overrides####cross overrides####build overrides# Now figure out from those variables how to compile and link.all.indirect: $(ALL)# IN_GCC tells obstack.h that we are using gcc's <stddef.h> file.# ??? IN_GCC should be obsolete now.INTERNAL_CFLAGS = $(CROSS) -DIN_GCC# This is the variable actually used when we compile.ALL_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS) $(XCFLAGS)# Likewise.ALL_CPPFLAGS = $(CPPFLAGS) $(X_CPPFLAGS) $(T_CPPFLAGS)# Even if ALLOCA is set, don't use it if compiling with GCC.USE_ALLOCA= ` case "${CC}" in "${OLDCC}") echo "${ALLOCA}" ;; esac `USE_HOST_ALLOCA= ` case "${HOST_CC}"@"${HOST_ALLOCA}" in "${OLDCC}"@?*) echo ${HOST_PREFIX}${HOST_ALLOCA} ;; esac `USE_HOST_MALLOC= ` case "${HOST_MALLOC}" in ?*) echo ${HOST_PREFIX}${HOST_MALLOC} ;; esac `USE_HOST_OBSTACK= ` case "${HOST_OBSTACK}" in ?*) echo ${HOST_PREFIX}${HOST_OBSTACK} ;; esac `# Dependency on obstack, alloca, malloc or whatever library facilities# are not installed in the system libraries.# We don't use USE_ALLOCA because backquote expansion doesn't work in deps.LIBDEPS= $(OBSTACK) $(ALLOCA) $(MALLOC)# Likewise, for use in the tools that must run on this machine# even if we are cross-building GCC.# We don't use USE_ALLOCA because backquote expansion doesn't work in deps.HOST_LIBDEPS= $(HOST_PREFIX)$(HOST_OBSTACK) $(HOST_PREFIX)$(HOST_ALLOCA) $(HOST_PREFIX)$(HOST_MALLOC)# How to link with both our special library facilities# and the system's installed libraries.LIBS = $(OBSTACK) $(USE_ALLOCA) $(MALLOC) $(CLIB)# Likewise, for use in the tools that must run on this machine# even if we are cross-building GCC.HOST_LIBS = $(USE_HOST_OBSTACK) $(USE_HOST_ALLOCA) $(USE_HOST_MALLOC) \ $(HOST_CLIB)HOST_RTL = $(HOST_PREFIX)rtl.oHOST_RTLANAL = $(HOST_PREFIX)rtlanal.oHOST_PRINT = $(HOST_PREFIX)print-rtl.o# Specify the directories to be searched for header files.# Both . and srcdir are used, in that order,# so that tm.h and config.h will be found in the compilation# subdirectory rather than in the source directory.INCLUDES = -I. -I$(srcdir) -I$(srcdir)/config# Always use -I$(srcdir)/config when compiling..c.o: $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<# This tells GNU make version 3 not to export all the variables# defined in this file into the environment..NOEXPORT:# Support for additional languages (other than c and objc).# ??? objc can be supported this way too (leave for later).# These next lines are overridden by configure.LANG_MAKEFILES =LANG_STAGESTUFF =LANG_DIFF_EXCLUDES =# Flags to pass to recursive makes.# CC is set by configure. Hosts without symlinks need special handling# because we need CC="stage1/xgcc -Bstage1/" to work in the language# subdirectories.# ??? The choices here will need some experimenting with.FLAGS_TO_PASS = \ "AR_FLAGS=$(AR_FLAGS)" \ "AR_FOR_TARGET=$(AR_FOR_TARGET)" \ "BISON=$(BISON)" \ "BISONFLAGS=$(BISONFLAGS)" \ "CC=set-by-configure" \ "CFLAGS=$(CFLAGS)" \ "GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \ "LDFLAGS=$(LDFLAGS)" \ "LEX=$(LEX)" \ "LEXFLAGS=$(LEXFLAGS)" \ "MAKEINFO=$(MAKEINFO)" \ "MAKEINFOFLAGS=$(MAKEINFOFLAGS)" \ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ "RANLIB_TEST_FOR_TARGET=$(RANLIB_TEST_FOR_TARGET)" \ "SHELL=$(SHELL)" \ "exeext=$(exeext)" \ "objext=$(objext)" \ "exec_prefix=$(exec_prefix)" \ "prefix=$(prefix)" \ "tooldir=$(tooldir)" \ "bindir=$(bindir)" \ "libsubdir=$(libsubdir)"# Lists of files for various purposes.# A list of all the language-specific executables.# This is overridden by configure.COMPILERS = cc1$(exeext) cc1obj$(exeext)# Language-specific object files for C.C_OBJS = c-parse.o c-lang.o c-lex.o c-pragma.o \ c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o# Language-specific object files for Objective C.OBJC_OBJS = objc-parse.o objc-act.o c-lex.o c-pragma.o \ c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-iterate.o# Files specific to the C interpreter bytecode compiler(s).BC_OBJS = bc-emit.o bc-optab.o# Bytecode header files constructed at build time; vmsconfig.com wants this.BC_ALL = bc-arity.h bc-opcode.h bc-opname.h# Language-independent object files.OBJS = toplev.o version.o tree.o print-tree.o stor-layout.o fold-const.o \ function.o stmt.o expr.o calls.o expmed.o explow.o optabs.o varasm.o \ rtl.o print-rtl.o rtlanal.o emit-rtl.o real.o \ dbxout.o sdbout.o dwarfout.o xcoffout.o \ integrate.o jump.o cse.o loop.o unroll.o flow.o stupid.o combine.o \ regclass.o local-alloc.o global.o reload.o reload1.o caller-save.o \ insn-peep.o reorg.o sched.o final.o recog.o reg-stack.o \ insn-opinit.o insn-recog.o insn-extract.o insn-output.o insn-emit.o \ insn-attrtab.o $(out_object_file) getpwd.o convert.o $(EXTRA_OBJS)# GEN files are listed separately, so they can be built before doing parallel# makes for cc1 or cc1plus. Otherwise sequent parallel make attempts to load# them before rtl.o is compiled.GEN= genemit genoutput genrecog genextract genflags gencodes genconfig genpeepCCCP=cccp# Uncomment this line if you want to use cppmain (w/cpplib) as cpp.#CCCP=cppmain# Files to be copied away after each stage in building.STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \ insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c \ insn-attr.h insn-attrtab.c insn-opinit.c \ stamp-flags stamp-config stamp-codes \ stamp-output stamp-recog stamp-emit stamp-extract stamp-peep \ stamp-attr stamp-attrtab stamp-opinit stamp-proto stamp-crt stamp-crtS \ genemit$(exeext) genoutput$(exeext) genrecog$(exeext) genextract$(exeext) \ genflags$(exeext) gencodes$(exeext) genconfig$(exeext) genpeep$(exeext) \ genattrtab$(exeext) genattr$(exeext) genopinit$(exeext) \ $(BC_ALL) \ stamp-bcarity stamp-bcopcode stamp-bcopname \ bi-arity$(exeext) bi-opcode$(exeext) bi-opname$(exeext) \ $(GCC_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ $(CCCP)$(exeext) cc1obj$(exeext) enquire$(exeext) \ protoize$(exeext) unprotoize$(exeext) \ specs collect2$(exeext) $(USE_COLLECT2) underscore.c \ *.greg *.lreg *.combine *.flow *.cse *.jump *.rtl *.tree *.loop \ *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack \ *.[si] \ $(LANG_STAGESTUFF)# Members of libgcc1.a.LIB1FUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ _lshrsi3 _ashrsi3 _ashlsi3 \ _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \ _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \ _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \ _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2# Library members defined in libgcc2.c.LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \ _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 \ _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \ _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \ _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \ _fixtfdi _fixunstfdi _floatditf \ __gcc_bcmp _varargs _eprintf _op_new _op_vnew _new_handler _op_delete \ _op_vdel _bb _shtab _clear_cache _trampoline __main _exit _ctors _eh \ _pure# The files that "belong" in CONFIG_H are deliberately omitted# because having them there would not be useful in actual practice.# All they would do is cause complete recompilation every time# one of the machine description files is edited.# That may or may not be what one wants to do.# If it is, rm *.o is an easy way to do it.# CONFIG_H = $(host_xm_file) $(tm_file)CONFIG_H =RTL_H = rtl.h rtl.def machmode.h machmode.defTREE_H = tree.h real.h tree.def machmode.h machmode.defBYTECODE_H = bytecode.h bc-emit.h bc-optab.h# Language makefile fragments.# The following targets define the interface between us and the languages.## all.build, all.cross, start.encap, rest.encap,# info, dvi,# install-normal, install-common, install-info, install-man,# uninstall, distdir,# mostlyclean, clean, distclean, extraclean, maintainer-clean,# stage1, stage2, stage3, stage4## Each language is linked in with a series of hooks (since we can't use `::'# targets). The name of each hooked is "lang.${target_name}" (eg: lang.info).# Configure computes and adds these here.####language hooks# sed inserts language fragments after the following line.####language fragments# End of language makefile fragments.# Avoid a lot of time thinking about remaking Makefile.in and *.def..SUFFIXES: .in .defMakefile: $(srcdir)/Makefile.in $(srcdir)/configure $(srcdir)/version.c \ $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file) \ $(LANG_MAKEFILES) cp config.status config.run $(SHELL) config.run rm -f config.runall.internal: start.encap rest.encap# This is what to compile if making a cross-compiler.# Note that we can compile enquire using the cross-compiler just built,# although we can't run it on this machine.all.cross: native gcc-cross specs stmp-headers $(LIBGCC) $(STMP_FIXPROTO) \ $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross# This is what to compile if making gcc with a cross-compiler.all.build: native xgcc $(EXTRA_PARTS) lang.all.build# This is what must be made before installing GCC and converting libraries.start.encap: native xgcc specs $(LIBGCC1) xlimits.h lang.start.encap# These can't be made until after GCC can run.rest.encap: stmp-headers $(LIBGCC) $(STMP_FIXPROTO) $(EXTRA_PARTS) lang.rest.encap# This is what is made with the host's compiler# whether making a cross compiler or not.native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)# Define the names for selecting languages in LANGUAGES.C c: cc1OBJC objc: cc1obj objc-runtimeOBJECTIVE-C objective-c: cc1obj objc-runtimePROTO: proto# Tell GNU make these are phony targets..PHONY: C c OBJC objc OBJECTIVE-C objective-c PROTO proto# Really, really stupid make features, such as SUN's KEEP_STATE, may force# a target to build even if it is up-to-date. So we must verify that# config.status does not exist before failing.config.status: @if [ ! -f config.status ] ; then \ echo You must configure gcc. Look at the INSTALL file for details.; \ false; \ else \ true; \ fi# On the target machine, finish building a cross compiler.# This does the things that can't be done on the host machine.rest.cross: $(LIBGCC) gfloat.h specs# Verify that it works to compile and link libgcc1-test.# If it does, then there are sufficient replacements for libgcc1.a.libgcc1-test: libgcc1-test.o native $(GCC_PARTS) @echo "Testing libgcc1. Ignore linker warning messages." $(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -