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

📄 makefile.in

📁 早期freebsd实现
💻 IN
📖 第 1 页 / 共 5 页
字号:
.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:# Lists of files for various purposes.# A list of all the language-specific executables.COMPILERS = cc1 cc1plus cc1obj# Language-specific object files for C.C_OBJS = c-parse.o c-lang.o c-lex.o \   c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-pragma.o# Language-specific object files for Objectionable C.OBJC_OBJS = objc-parse.o objc-actions.o \   c-lex.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-pragma.o# Language-specific object files for C++.CPLUS_OBJS = cp-parse.o cp-decl.o cp-decl2.o \   cp-typeck.o cp-type2.o cp-tree.o cp-ptree.o \   cp-cvt.o cp-search.o cp-lex.o cp-gc.o cp-call.o \   cp-class.o cp-init.o cp-method.o cp-except.o \   cp-expr.o cp-pt.o cp-edsel.o cp-xref.o \   $(CPLUS_INPUT) cp-spew.o c-common.o# 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 \ 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-recog.o insn-extract.o insn-output.o insn-emit.o \ insn-attrtab.o aux-output.o getpwd.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 genpeep# Files to be copied away after each stage in building.STAGESTUFF = *.o 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 \ stamp-flags stamp-config stamp-codes \ stamp-output stamp-recog stamp-emit stamp-extract stamp-peep \ stamp-attr stamp-attrtab stamp-proto \ genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \ genattrtab genattr \ $(GCC_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross cccp \ cc1plus cc1obj enquire protoize unprotoize specs collect2 $(USE_COLLECT2)# Members of libgcc1.a.LIB1FUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \   _lshrsi3 _lshlsi3 _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 _lshldi3 _ashldi3 _ashrdi3  \    _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \    _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \    __gcc_bcmp _varargs _eprintf _builtin_new _caps_New _builtin_del \    _bb _shtab _clear_cache _trampoline __main _exit _ctors# Header files that are made available under the same name# to programs compiled with GCC.USER_H = va-alpha.h va-i860.h va-i960.h va-mips.h va-m88k.h \    va-pa.h va-pyr.h va-sparc.h va-spur.h proto.h $(EXTRA_HEADERS)# All the header files that are installed for users from GCC itself.INSTALLED_H = float.h stddef.h stdarg.h varargs.h $(USER_H) limits.h \    syslimits.h# 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 = config.h tm.hCONFIG_H =RTL_H = rtl.h rtl.def machmode.h machmode.defTREE_H = tree.h real.h tree.def machmode.h machmode.defCPLUS_TREE_H = $(TREE_H) cp-tree.h cp-tree.def# 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)	sh config.statusall.internal: start.encap rest.encap# This is what to compile if making a cross-compiler.all.cross: native gcc-cross specs libgcc.a cross-test $(EXTRA_PARTS)# This is what to compile if making gcc with a cross-compiler.all.build: native xgcc $(EXTRA_PARTS)# This is what must be made before installing GCC and converting libraries.start.encap: native xgcc specs $(LIBGCC1) xlimits.h# Use this to make a GCC that will be used only to recompile GCC.for-bootstrap: start.encap libgcc.a# These can't be made, with COFF encapsulation, until after GCC can run.rest.encap: libgcc.a float.h  $(EXTRA_PARTS)# 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: cc1C++ c++: cc1plusOBJC objc: cc1obj objc-runtimeOBJECTIVE-C objective-c: cc1obj objc-runtimePROTO: 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.a float.h specs# Verify that it works to compile and link cross-test.# If it does, then there are sufficient replacements for libgcc1.a.cross-test: cross-test.o native gcc-cross libgcc.a	$(GCC_FOR_TARGET) $(GCC_CFLAGS) cross-test.o -o $@cross-test.o: cross-test.c native gcc-cross	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/cross-test.c# Recompile all the language-independent object files.# This is used only if the user explicitly asks for it.compilations: ${OBJS}# We call this executable `xgcc' rather than `gcc'# to avoid confusion if the current directory is in the path# and CC is `gcc'.  It is renamed to `gcc' when it is installed.xgcc: gcc.o version.o $(LIBDEPS)	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o xgcc gcc.o version.o $(LIBS)# Dump a specs file to make -B./ read these specs over installed ones.specs: xgcc	./xgcc -dumpspecs > specs# We do want to create an executable named `xgcc', so we can use it to# compile libgcc2.a.# Also create gcc-cross, so that install-common will install properly.gcc-cross: xgcc	cp xgcc gcc-crosscc1:$(P) $(C_OBJS) $(OBJS) $(LIBDEPS)	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1 $(C_OBJS) $(OBJS) $(LIBS)cc1plus:$(P) $(CPLUS_OBJS) $(OBJS) $(LIBDEPS)	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1plus $(CPLUS_OBJS) $(OBJS) $(LIBS)cc1obj:$(P) $(OBJC_OBJS) $(OBJS) $(LIBDEPS)	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1obj $(OBJC_OBJS) $(OBJS) $(LIBS)float.h: enquire	-./enquire -f > tmp-float.h	mv tmp-float.h float.h# Used to compile enquire with standard cc, but have forgotten why.# Let's try with GCC.enquire: enquire.o $(GCC_PARTS)	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ENQUIRE_LDFLAGS) enquire.o -o $@enquire.o: $(srcdir)/enquire.c $(GCC_PASSES)#	-if [ "$(srcdir)" != "." ]; then rm -f ./enquire.c; else true; fi#	-cp $(srcdir)/enquire.c . > /dev/null 2>&1# Breaking this line caused a problem with one version of GNU make.	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(ENQUIRE_CFLAGS) -I. -c $(srcdir)/enquire.c# Build the version of limits.h that we will install.xlimits.h: glimits.h limitx.h limity.h	if [ -f $(SYSTEM_HEADER_DIR)/limits.h ] ; then \	  cat $(srcdir)/limitx.h $(srcdir)/glimits.h $(srcdir)/limity.h > xlimits.h; \	else \	  cat $(srcdir)/glimits.h > xlimits.h; \	fi# Build libgcc.a.# This is done in two parts because some functions, in libgcc1.c,# must be compiled with something other than GCC,# while the rest, in libgcc2.c, must be compiled with xgcc.# That means we can't do libgcc2.c until after xgcc, cc1, etc.# Use this as value of LIBGCC1 to cause conversion to GNU library format.# LIBCONVERT should put its output in libgcc1.conv.libgcc1.conv: libgcc1.a	$(LIBCONVERT) libgcc1.a libgcc1.conv# Use this as value of LIBGCC1 to inhibit use of libgcc1.c entirely.# Make an empty file instead.libgcc1.null: $(CROSS_TOOLS) $(GCC_PASSES)	echo "__foo () {}" > dummy.c	$(GCC_FOR_TARGET) $(GCC_CFLAGS) -c dummy.c	$(OLDAR) $(OLDAR_FLAGS) libgcc1.null dummy.o	rm -f dummy.o dummy.c# This is $(LIBGCC1) for a cross-compiler.# We have no automatic way of building libgcc1.a, # so it's up to the installer to find a way to do that.# This rule deliberately does not depend on libgcc1.a# so that it will fail if the installer hasn't provided it.libgcc1.cross:	mv libgcc1.a libgcc1.cross || (echo You must find a way to make libgcc1.a; false)# Compile the library of arithmetic subroutines with the native compiler.# Don't compile it with GCC!# (That would cause most arithmetic functions to call themselves.)libgcc1.a: libgcc1.c $(CONFIG_H) $(LIB1FUNCS_EXTRA) config.status	-rm -f tmplibgcc1.a# Actually build it in tmplibgcc1.a, then rename at end,# so that libgcc1.a itself remains nonexistent if compilation is aborted.# -e causes any failing command to make this rule fail.# -e doesn't work in certain shells, so we test $$? as well.	set -e; \	for name in $(LIB1FUNCS); \	do \	  echo $${name}; \	  rm -f $${name}.o; \	  $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	  mv libgcc1.o $${name}.o; \	  $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \	  rm -f $${name}.o; \	done# Some shells crash when a loop has no items.# So make sure there is always at least one--`..'.# Then ignore it.# We don't use -e here because there are if statements# that should not make the command give up when the if condition is false.# Instead, we test for failure after each command where it matters.	-for file in .. $(LIB1FUNCS_EXTRA); \	do \	  if [ x$${file} != x.. ]; then \	    name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \	    echo $${name}; \	    if [ $${name}.asm = $${file} ]; then \	      cp $${file} $${name}.s || exit 1; file=$${name}.s; \	    else true; fi; \	    $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c $${file}; \	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	    $(OLDAR) $(OLDAR_FLAGS) tmplibgcc1.a $${name}.o; \	    if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	    rm -f $${name}.[so]; \	  else true; \	  fi; \	done	mv tmplibgcc1.a libgcc1.a# Compiling libgcc2.a requires making sure that cc1, etc. have been compiled.# But recompiling cc1 should not force recompilation of libgcc2.a.# If you want to force recompilation, delete libgcc2.a.# Depend on install-cross-tools to make sure we set up properly # to run the assembler before we try compiling anything.# install-cross-tools does nothing if not cross compiling.libgcc2.ready: $(GCC_PASSES) $(CROSS_TOOLS)	-if [ -f libgcc2.ready ] ; then \		true; \	else \		touch libgcc2.ready; \	filibgcc2.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \   machmode.h longlong.h gbl-ctors.h config.status# Actually build it in tmplibgcc2.a, then rename at end,# so that libgcc2.a itself remains nonexistent if compilation is aborted.	-rm -f tmplibgcc2.a# -e causes any failing command to make this rule fail.# -e doesn't work in certain shells, so we test $$? as well.	set -e; \	for name in $(LIB2FUNCS); \	do \	  echo $${name}; \	  $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \	      $(srcdir)/libgcc2.c -o $${name}.o; \	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \	  $(AR) $(AR_FLAGS) tmplibgcc2.a $${name}.o; \	  rm -f $${name}.o; \	done# Some shells crash when a loop has no items.# So make sure there is always at least one--`..'.# Then ignore it.# We don't use -e here because there are if statements# that should not make the command give up when the if condition is false.# Instead, we test for failure after each command where it matters.	-for file in .. $(LIB2FUNCS_EXTRA); \	do \	  if [ x$${file} != x.. ]; then \	    name=`echo $${file} | sed -e 's/[.]c$$//' -e 's/[.]asm$$//'`; \	    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 $${name}.o; \	    rm -f $${name}.[so]; \	  else true; \	  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 ];			\

⌨️ 快捷键说明

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