From: Richard Stallman Date: Sat, 4 Apr 1992 21:34:42 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4754708156e80c291f4e3dad16db906ecc07ce8d;p=gcc.git *** empty log message *** From-SVN: r684 --- diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 08fd0d80a3a..b7e76bbfa8f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -177,6 +177,11 @@ EXTRA_PARTS = # compiler proper (cc1, cc1obj, cc1plus). EXTRA_OBJS = +# Set this to `ld' to enable use of collect2. +# USE_COLLECT2 = +# It is convenient for configure to add the assignment at the beginning, +# so don't override it here. + # List of extra C and assembler files to add to libgcc1.a. # Assembler files should have names ending in `.asm'. LIB1FUNCS_EXTRA = @@ -202,7 +207,7 @@ GCC_PASSES=gcc cc1 cpp $(EXTRA_PASSES) # List of things which should already be built whenever we try to use gcc # to link anything. -GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PROGRAMS) $(EXTRA_PARTS) +GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS) # Change this to empty to prevent installing limits.h. # Actually, this currently has no effect, @@ -328,12 +333,13 @@ CPLUS_OBJS = cp-parse.o cp-decl.o cp-decl2.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 dbxout.o sdbout.o dwarfout.o emit-rtl.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-alloc.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 xcoffout.o $(EXTRA_OBJS) + 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 @@ -349,8 +355,8 @@ STAGESTUFF = *.o insn-flags.h insn-config.h insn-codes.h \ stamp-attr stamp-attrtab \ genemit genoutput genrecog genextract genflags gencodes genconfig genpeep \ genattrtab genattr \ - $(GCC_PASSES) $(EXTRA_PARTS) gcc-cross cccp cc1plus cc1obj enquire \ - protoize unprotoize specs collect2 + $(GCC_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross cccp \ + cc1plus cc1obj enquire protoize unprotoize specs collect2 # Members of libgcc1.a. LIB1FUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ @@ -392,7 +398,7 @@ CPLUS_TREE_H = $(TREE_H) cp-tree.h cp-tree.def # Avoid a lot of time thinking about remaking Makefile.in and *.def. .SUFFIXES: .in .def -Makefile: $(srcdir)/Makefile.in $(srcdir)/configure \ +Makefile: $(srcdir)/Makefile.in $(srcdir)/configure $(srcdir)/version.c \ $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file) sh config.status @@ -407,7 +413,7 @@ for-bootstrap: start.encap libgcc.a 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) +native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) # Define the names for selecting languages in LANGUAGES. C c: cc1 @@ -675,10 +681,21 @@ cp-edsel.o : cp-edsel.c $(CONFIG_H) $(CPLUS_TREE_H) stack.h flags.h cp-xref.o : cp-xref.c $(CONFIG_H) $(CPLUS_TREE_H) cp-pt.o : cp-pt.c $(CONFIG_H) $(CPLUS_TREE_H) cp-decl.h cp-parse.h +# To make a configuration always use collect2, set USE_COLLECT2 to ld. +ld: collect2 + rm -f ld + ln collect2 ld + collect2 : collect2.o version.o $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o collect2 collect2.o version.o $(LIBS) collect2.o : collect2.c $(CONFIG_H) gstab.h + $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + -DSTANDARD_STARTFILE_PREFIX=\"$(libdir)/\" \ + -DSTANDARD_BIN_PREFIX=\"$(bindir)/\" \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc-lib/\" \ + -DDEFAULT_TARGET_MACHINE=\"$(target)\" \ + -c `echo $(srcdir)/collect2.c | sed 's,^\./,,'` # Objectionable C language specific files. @@ -714,7 +731,9 @@ print-tree.o : print-tree.c $(CONFIG_H) $(TREE_H) stor-layout.o : stor-layout.c $(CONFIG_H) $(TREE_H) function.h fold-const.o : fold-const.c $(CONFIG_H) $(TREE_H) flags.h toplev.o : toplev.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h input.h \ - insn-attr.h xcoff.h + insn-attr.h xcoffout.h + $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + $(MAYBE_USE_COLLECT2) -c `echo $(srcdir)/toplev.c | sed 's,^\./,,'` rtl.o : rtl.c $(CONFIG_H) $(RTL_H) @@ -722,7 +741,7 @@ 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 \ - insn-codes.h expr.h hard-reg-set.h regs.h xcoff.h + insn-codes.h expr.h hard-reg-set.h regs.h xcoffout.h function.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 @@ -739,12 +758,12 @@ explow.o : explow.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h hard-reg-set.h \ optabs.o : optabs.c $(CONFIG_H) $(RTL_H) $(TREE_H) flags.h \ insn-flags.h insn-config.h insn-codes.h expr.h recog.h dbxout.o : dbxout.c $(CONFIG_H) $(TREE_H) $(RTL_H) flags.h regs.h \ - insn-config.h reload.h gstab.h xcoff.h + insn-config.h reload.h gstab.h xcoffout.h sdbout.o : sdbout.c $(CONFIG_H) $(TREE_H) $(RTL_H) gsyms.h flags.h \ insn-config.h reload.h dwarfout.o : dwarfout.c $(CONFIG_H) $(TREE_H) $(RTL_H) dwarf.h flags.h \ insn-config.h reload.h output.h -xcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoff.h flags.h +xcoffout.o : xcoffout.c $(CONFIG_H) $(TREE_H) $(RTL_H) xcoffout.h flags.h emit-rtl.o : emit-rtl.c $(CONFIG_H) $(RTL_H) flags.h gvarargs.h function.h \ regs.h insn-config.h insn-codes.h real.h expr.h getpwd.o : getpwd.c $(CONFIG_H) @@ -788,7 +807,7 @@ sched.o : sched.c $(CONFIG_H) $(RTL_H) basic-block.h regs.h hard-reg-set.h \ flags.h insn-config.h insn-attr.h final.o : final.c $(CONFIG_H) $(RTL_H) gvarargs.h flags.h regs.h \ recog.h conditions.h insn-config.h insn-attr.h real.h output.h \ - hard-reg-set.h insn-codes.h gstab.h xcoff.h + hard-reg-set.h insn-codes.h gstab.h xcoffout.h recog.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.h @@ -808,6 +827,7 @@ alloca.o: alloca.c $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ALLOCA_FLAGS) \ `echo $(srcdir)/alloca.c | sed 's,^\./,,'` $(ALLOCA_FINISH) + -rm alloca.s # Generate header and source files from the machine description, # and compile them. @@ -1090,37 +1110,38 @@ unprotoize.1: $(srcdir)/proto-man ./cpp | awk 'NF > 0 {print}' > tmp-unproto.1 mv tmp-unproto.1 unprotoize.1 -SYSCALLS.c : $(srcdir)/sys-types.h $(srcdir)/sys-protos.h - cat $(srcdir)/sys-types.h $(srcdir)/sys-protos.h >$@ - # This info describes the target machine, so compile with GCC just built. -SYSCALLS.c.X: SYSCALLS.c $(GCC_PASSES) +SYSCALLS.c.X: $(srcdir)/sys-types.h $(srcdir)/sys-protos.h $(GCC_PASSES) + -rm -f SYSCALLS.c + cat $(srcdir)/sys-types.h $(srcdir)/sys-protos.h > SYSCALLS.c $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - -fgen-aux-info -S -o /dev/null SYSCALLS.c + -aux-info $@ -S -o /dev/null SYSCALLS.c + -rm -f SYSCALLS.c # Remake the info files. -doc: $(srcdir)/cpp.info $(srcdir)/gplus.info $(srcdir)/gcc.info +doc: $(srcdir)/cpp.info $(srcdir)/gcc.info $(srcdir)/cpp.info: $(srcdir)/cpp.texi makeinfo `echo $(srcdir)/cpp.texi | sed 's,^\./,,'` -$(srcdir)/gplus.info: $(srcdir)/gplus.texi - makeinfo `echo $(srcdir)/gplus.texi | sed 's,^\./,,'` +#$(srcdir)/gplus.info: $(srcdir)/gplus.texi +# makeinfo `echo $(srcdir)/gplus.texi | sed 's,^\./,,'` $(srcdir)/gcc.info: $(srcdir)/gcc.texi makeinfo `echo $(srcdir)/gcc.texi | sed 's,^\./,,'` # Deletion of files made during compilation. # There are four levels of this: -# `mostlyclean', `clean', `cleanconfig' and `realclean'. +# `mostlyclean', `clean', `distclean' and `realclean'. # `mostlyclean' is useful while working on a particular type of machine. # It deletes most, but not all, of the files made by compilation. # It does not delete libgcc.a or its parts, so it won't have to be recompiled. # `clean' deletes everything made by running `make all'. -# `cleanconfig' also deletes the files made by config. +# `distclean' also deletes the files made by config. # `realclean' also deletes everything that could be regenerated automatically. + mostlyclean: -rm -f $(STAGESTUFF) # Delete the temporary source copies for cross compilation. @@ -1139,28 +1160,31 @@ mostlyclean: -rm -f *.dbr *.jump2 *.sched *.cse2 *.sched2 *.stack # Delete some files made during installation. -rm -f specs float.h enquire SYSCALLS.c SYSCALLS.c.X - -rm -f collect collect2 ld mips-tfile mips-tdump + -rm -f collect collect2 ld mips-tfile mips-tdump alloca.s # Delete unwanted output files from TeX. -rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg +# Delete sorted indices we don't actually use. + -rm -f gcc.vrs gcc.kys gcc.tps gcc.pgs gcc.fns # Delete core dumps. -rm -f core -# delete all files made by compilation. +# Delete all files made by compilation +# that don't exist in the distribution. clean: mostlyclean -rm -f libgcc.a libgcc1.a libgcc2.a libgcc2.ready - -rm -fr stage1 stage2 stage3 stage4 -# This is used to get rid of everything found in the source dir -# that shouldn't be in the distribution. +# Delete all files that users would normally create +# while building and installing GCC. distclean: clean -rm -f tm.h aux-output.c config.h md config.status tconfig.h -rm -f Makefile *.dvi *.oaux + -rm -fr stage1 stage2 stage3 stage4 # Delete anything likely to be found in the source directory # that shouldn't be in the distribution. extraclean: distclean - -rm -rf =* #* *~ config/#* config/*~ - -rm -f *.dvi *.oaux patch* + -rm -rf =* #* *~* config/=* config/#* config/*~* + -rm -f *.dvi *.oaux patch* config/patch* *.orig *.rej *.d *.Z *.tar -rm -f *.s *.s[0-9] *.i # Get rid of every file that's generated from some other file. @@ -1250,6 +1274,7 @@ install-float-h-cross: install-dir: if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi if [ -d $(libdir)/gcc-lib ] ; then true ; else mkdir $(libdir)/gcc-lib ; fi + if [ -d $(libdir)/gcc-lib/include ] ; then true ; else mkdir $(libdir)/gcc-lib/include ; fi if [ -d $(libdir)/gcc-lib/$(target) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target) ; fi if [ -d $(libdir)/gcc-lib/$(target)/$(version) ] ; then true ; else mkdir $(libdir)/gcc-lib/$(target)/$(version) ; fi if [ -d $(bindir) ] ; then true ; else mkdir $(bindir) ; fi @@ -1269,7 +1294,7 @@ install-common: native install-dir else true; \ fi; \ done - for file in $(EXTRA_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) ..; do \ + for file in $(EXTRA_PASSES) $(EXTRA_PARTS) $(EXTRA_PROGRAMS) $(USE_COLLECT2) ..; do \ if [ x"$$file" != x.. ]; then \ rm -f $(libsubdir)/$$file; \ $(INSTALL_PROGRAM) $$file $(libsubdir)/$$file; \ @@ -1480,6 +1505,12 @@ gcc.xtar: tar chf gcc.xtar gcc-$(version) # Get rid of the temporary directory. rm -rf gcc-$(version) +# Update the version number in README + awk '$$1 " " $$2 " " $$3 == "This directory contains" \ + { $$6 = version; print $$0 } \ + $$1 " " $$2 " " $$3 != "This directory contains"' \ + version=$(version) README > tmp.README + mv tmp.README README # do make -f ../gcc/Makefile maketest DIR=../gcc # in the intended test directory to make it a suitable test directory.