aboutsummaryrefslogtreecommitdiff
path: root/gcc/mklibgcc.in
diff options
context:
space:
mode:
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>2001-04-09 23:43:06 +0000
committerFranz Sirl <sirl@gcc.gnu.org>2001-04-09 23:43:06 +0000
commitfa9518de0271175955abe4cce0b29788dd4e4aa3 (patch)
treed83b40ed38c3cf668c8c1b5c65edb4a956efd269 /gcc/mklibgcc.in
parentd4f33f6c82041b514d78c6bf9282eade563a509b (diff)
downloadgcc-fa9518de0271175955abe4cce0b29788dd4e4aa3.zip
gcc-fa9518de0271175955abe4cce0b29788dd4e4aa3.tar.gz
gcc-fa9518de0271175955abe4cce0b29788dd4e4aa3.tar.bz2
Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2001-04-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro. (LIB2ADD_ST): New macro, pass it to mklibgcc. * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST. (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a. * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro. From-SVN: r41215
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r--gcc/mklibgcc.in30
1 files changed, 28 insertions, 2 deletions
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index 70fc55a..6034867 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -15,6 +15,7 @@
# LIB1FUNCS_EXTRA
# LIB2FUNCS
# LIB2ADD
+# LIB2ADD_ST
# LIB2ADDEH
# LIB2ADDEHDEP
# FPBIT
@@ -247,6 +248,26 @@ for file in $LIB2ADDEH; do
libgcc2_objs="$libgcc2_objs ${oname}${objext}"
done
+libgcc2_st_objs=""
+
+for file in $LIB2ADD_ST; do
+ name=`echo $file | sed -e 's/[.][cSo]$//' -e 's/[.]asm$//' -e 's/[.]txt$//'`
+ oname=`echo $name | sed -e 's,.*/,,'`
+
+ for ml in $MULTILIBS; do
+ dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
+ flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
+ out="libgcc/${dir}/${oname}${objext}"
+ if [ ${name}.asm = ${file} ]; then
+ flags="$flags -xassembler-with-cpp"
+ fi
+
+ echo $out: stmp-dirs $file
+ echo " $gcc_compile" $flags -c $file -o $out
+ done
+ libgcc2_st_objs="$libgcc2_st_objs ${oname}${objext}"
+done
+
# SHLIB_MKMAP
# SHLIB_MAPFILES
for ml in $MULTILIBS; do
@@ -266,6 +287,11 @@ for ml in $MULTILIBS; do
done
shlib_deps="$libgcc_objs"
+ libgcc_st_objs=""
+ for o in $libgcc2_st_objs; do
+ libgcc_st_objs="$libgcc_st_objs libgcc/${dir}/$o"
+ done
+
if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" -a -z "$mapfile" ]; then
mapfile="libgcc.map"
echo ""
@@ -282,9 +308,9 @@ for ml in $MULTILIBS; do
done
echo ""
- echo "${dir}/libgcc.a: $libgcc_objs"
+ echo "${dir}/libgcc.a: $libgcc_objs $libgcc_st_objs"
echo " -rm -rf ${dir}/libgcc.a"
- echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_objs
+ echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_objs $libgcc_st_objs
echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\
echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\
echo ' else true; fi;'