Commit b583eed8 by Doug Evans

Parameterize libgcc.a and install-libgcc (LIBGCC and INSTALL_LIBGCC).

From-SVN: r4843
parent e02b9957
...@@ -175,6 +175,11 @@ CLIB= ...@@ -175,6 +175,11 @@ CLIB=
# system library. # system library.
OBSTACK=obstack.o OBSTACK=obstack.o
# Specify the rule for actually making libgcc.a,
LIBGCC = libgcc.a
# and the rule for installing it.
INSTALL_LIBGCC = install-libgcc
# Specify the rule for actually making libgcc1.a. # Specify the rule for actually making libgcc1.a.
# The value may be empty; that means to do absolutely nothing # The value may be empty; that means to do absolutely nothing
# with or for libgcc1.a. # with or for libgcc1.a.
...@@ -260,7 +265,7 @@ GCC_PASSES=xgcc cc1 cpp $(EXTRA_PASSES) ...@@ -260,7 +265,7 @@ GCC_PASSES=xgcc cc1 cpp $(EXTRA_PASSES)
# List of things which should already be built whenever we try to use xgcc # List of things which should already be built whenever we try to use xgcc
# to link anything. # to link anything.
GCC_PARTS=$(GCC_PASSES) libgcc.a $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS) GCC_PARTS=$(GCC_PASSES) $(LIBGCC) $(EXTRA_PROGRAMS) $(USE_COLLECT2) $(EXTRA_PARTS)
# Directory to link to, when using the target `maketest'. # Directory to link to, when using the target `maketest'.
DIR = ../gcc DIR = ../gcc
...@@ -461,15 +466,15 @@ all.internal: start.encap rest.encap ...@@ -461,15 +466,15 @@ all.internal: start.encap rest.encap
# This is what to compile if making a cross-compiler. # This is what to compile if making a cross-compiler.
# Note that we can compile enquire using the cross-compiler just build, # Note that we can compile enquire using the cross-compiler just build,
# although we can't run it on this machine. # although we can't run it on this machine.
all.cross: native gcc-cross specs libgcc.a stmp-headers cross-test enquire $(EXTRA_PARTS) all.cross: native gcc-cross specs $(LIBGCC) stmp-headers cross-test enquire $(EXTRA_PARTS)
# This is what to compile if making gcc with a cross-compiler. # This is what to compile if making gcc with a cross-compiler.
all.build: native xgcc $(EXTRA_PARTS) all.build: native xgcc $(EXTRA_PARTS)
# This is what must be made before installing GCC and converting libraries. # This is what must be made before installing GCC and converting libraries.
start.encap: native xgcc specs $(LIBGCC1) xlimits.h start.encap: native xgcc specs $(LIBGCC1) xlimits.h
# Use this to make a GCC that will be used only to recompile GCC. # Use this to make a GCC that will be used only to recompile GCC.
for-bootstrap: start.encap libgcc.a for-bootstrap: start.encap $(LIBGCC)
# These can't be made, with COFF encapsulation, until after GCC can run. # These can't be made, with COFF encapsulation, until after GCC can run.
rest.encap: libgcc.a stmp-headers $(EXTRA_PARTS) rest.encap: $(LIBGCC) stmp-headers $(EXTRA_PARTS)
# This is what is made with the host's compiler # This is what is made with the host's compiler
# whether making a cross compiler or not. # whether making a cross compiler or not.
native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2) native: config.status cpp $(LANGUAGES) $(EXTRA_PASSES) $(EXTRA_PROGRAMS) $(USE_COLLECT2)
...@@ -495,11 +500,11 @@ config.status: ...@@ -495,11 +500,11 @@ config.status:
# On the target machine, finish building a cross compiler. # On the target machine, finish building a cross compiler.
# This does the things that can't be done on the host machine. # This does the things that can't be done on the host machine.
rest.cross: libgcc.a gfloat.h specs rest.cross: $(LIBGCC) gfloat.h specs
# Verify that it works to compile and link cross-test. # Verify that it works to compile and link cross-test.
# If it does, then there are sufficient replacements for libgcc1.a. # If it does, then there are sufficient replacements for libgcc1.a.
cross-test: cross-test.o native gcc-cross libgcc.a $(GCC_PARTS) cross-test: cross-test.o native gcc-cross $(LIBGCC) $(GCC_PARTS)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) cross-test.o -o $@ $(GCC_FOR_TARGET) $(GCC_CFLAGS) cross-test.o -o $@
cross-test.o: cross-test.c native gcc-cross cross-test.o: cross-test.c native gcc-cross
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/cross-test.c $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/cross-test.c
...@@ -1522,8 +1527,8 @@ realclean: distclean ...@@ -1522,8 +1527,8 @@ realclean: distclean
install: $(INSTALL_TARGET) ; @true install: $(INSTALL_TARGET) ; @true
# Copy the compiler files into directories where they will be run. # Copy the compiler files into directories where they will be run.
install-normal: install-common $(INSTALL_HEADERS) install-libgcc install-man \ install-normal: install-common $(INSTALL_HEADERS) $(INSTALL_LIBGCC) \
install-info install-man install-info
# Do nothing while making gcc with a cross-compiler. The person who # Do nothing while making gcc with a cross-compiler. The person who
# makes gcc for the target machine has to know how to put a complete # makes gcc for the target machine has to know how to put a complete
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment