*** empty log message ***
authorRichard Stallman <rms@gnu.org>
Sat, 4 Apr 1992 21:34:42 +0000 (21:34 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 4 Apr 1992 21:34:42 +0000 (21:34 +0000)
From-SVN: r684

gcc/Makefile.in

index 08fd0d80a3a86e40bb01ffbade163ed63ebf76a8..b7e76bbfa8fd9f5fe88d439ad354578c314951d0 100644 (file)
@@ -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
 \f
 # 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
 \f
 # 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,^\./,,'`
 \f
 # 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.