Commit 2aceb30d by Jason Merrill Committed by Jason Merrill

Makefile.in (libgcc.ready): Lose.

        * Makefile.in (libgcc.ready): Lose.
        (libgcc.mk): Just use mv, not move-if-change.
        (LIBGCC_DEPS): New macro.
        (libgcc.a): Use it.
        (stmp-multilib): Likewise.
        * mklibgcc.in (stmp-dirs): New target.  Make everything depend on
        it rather than the directories themselves.
        (LIB2ADD): Depend on the list file rather than 'force'.

From-SVN: r34419
parent fce8451d
2000-06-05 Jason Merrill <jason@casey.soma.redhat.com>
* Makefile.in (libgcc.ready): Lose.
(libgcc.mk): Just use mv, not move-if-change.
(LIBGCC_DEPS): New macro.
(libgcc.a): Use it.
(stmp-multilib): Likewise.
* mklibgcc.in (stmp-dirs): New target. Make everything depend on
it rather than the directories themselves.
(LIB2ADD): Depend on the list file rather than 'force'.
* fold-const.c (fold, case COND_EXPR): Elide conversion between
cv-qualified versions of types.
......
......@@ -941,16 +941,6 @@ xlimits.h: glimits.h limitx.h limity.h
#
# Build libgcc.a.
# Compiling libgcc.a requires making sure that cc1, etc. have been compiled.
# But recompiling cc1 should not force recompilation of libgcc.a.
# If you want to force recompilation, delete libgcc.a.
libgcc.ready: $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO)
-if [ -f libgcc.ready ] ; then \
true; \
else \
touch libgcc.ready; \
fi
LIB2ADD = $(LIB2ADDEH) $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) xgcc$(exeext)
......@@ -970,9 +960,15 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) xgcc$(exeext)
MULTILIBS=`$(GCC_FOR_TARGET) --print-multi-lib` \
EXTRA_MULTILIB_PARTS='$(EXTRA_MULTILIB_PARTS)' \
$(SHELL) mklibgcc > tmp-libgcc.mk
$(SHELL) $(srcdir)/move-if-change tmp-libgcc.mk libgcc.mk
mv tmp-libgcc.mk libgcc.mk
# All the things that might cause us to want to recompile bits of libgcc.
LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
libgcc.mk $(srcdir)/libgcc1.c $(srcdir)/libgcc2.c $(CONFIG_H) \
$(MACHMODE_H) longlong.h frame.h gbl-ctors.h config.status \
stmp-int-hdrs tsystem.h $(FPBIT) $(DPBIT) $(LIB2ADD)
libgcc.a: libgcc.ready libgcc.mk $(FPBIT) $(DPBIT) $(LIB2ADD)
libgcc.a: $(LIBGCC_DEPS)
$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
AR_FOR_TARGET="$(AR_FOR_TARGET)" \
......@@ -1003,7 +999,7 @@ s-mlib: $(srcdir)/genmultilib Makefile
touch s-mlib
# Build multiple copies of libgcc.a, one for each target switch.
stmp-multilib: libgcc.ready libgcc.mk $(FPBIT) $(DPBIT)
stmp-multilib: $(LIBGCC_DEPS)
$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
HOST_PREFIX="$(HOST_PREFIX)" HOST_PREFIX_1="$(HOST_PREFIX_1)" \
AR_FOR_TARGET="$(AR_FOR_TARGET)" \
......@@ -2137,7 +2133,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mostlyclean
# that don't exist in the distribution.
INTL_CLEAN = intl.clean
clean: mostlyclean $(INTL_CLEAN) lang.clean
-rm -f libgcc.a libgcc.ready
-rm -f libgcc.a
-rm -f *.dvi
-rm -f */*.dvi
-if [ -f md.pre-cpp ]; then \
......
......@@ -65,13 +65,13 @@ make_compile='$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
LANGUAGES="$(LANGUAGES)"'
# Dependancies for libgcc1.c
libgcc1_c_dep='$(srcdir)/libgcc1.c $(CONFIG_H)'
libgcc1_c_dep='stmp-dirs $(srcdir)/libgcc1.c $(CONFIG_H)'
# Dependancies for libgcc2.c
libgcc2_c_dep='$(srcdir)/libgcc2.c $(CONFIG_H) $(MACHMODE_H) longlong.h frame.h gbl-ctors.h config.status stmp-int-hdrs tsystem.h'
libgcc2_c_dep='stmp-dirs $(srcdir)/libgcc2.c $(CONFIG_H) $(MACHMODE_H) longlong.h frame.h gbl-ctors.h config.status stmp-int-hdrs tsystem.h'
# Dependancies for fp-bit.c
fpbit_c_dep='config.status tsystem.h'
fpbit_c_dep='stmp-dirs config.status tsystem.h'
#
# Build libgcc1 components.
......@@ -94,12 +94,7 @@ case X"$LIBGCC1" in
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
out="libgcc/${dir}/${name}${objext}"
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo ${out}: ${libgccdir} '$(srcdir)/config/$(LIB1ASMSRC)'
echo ${out}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)'
echo " $gcc_compile" $flags -DL$name -xassembler-with-cpp \
-c '$(srcdir)/config/$(LIB1ASMSRC)' -o $out
done
......@@ -161,12 +156,7 @@ for name in $LIB2FUNCS; do
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
out="libgcc/${dir}/${name}${objext}"
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo $out: $libgccdir $libgcc2_c_dep
echo $out: $libgcc2_c_dep
echo " $gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \
-c '$(srcdir)/libgcc2.c' -o $out
done
......@@ -179,12 +169,7 @@ for name in $LIB2FUNCS_EH; do
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
out="libgcc/${dir}/${name}${objext}"
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo $out: $libgccdir $libgcc2_c_dep
echo $out: $libgcc2_c_dep
echo " $gcc_compile" '$(MAYBE_USE_COLLECT2)' -fexceptions \
$flags -DL$name -c '$(srcdir)/libgcc2.c' -o $out
done
......@@ -198,12 +183,7 @@ if [ "$FPBIT" ]; then
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
out="libgcc/${dir}/${name}${objext}"
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo $out: $libgccdir $FPBIT $fpbit_c_dep
echo $out: $FPBIT $fpbit_c_dep
echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
-c $FPBIT -o $out
done
......@@ -218,12 +198,7 @@ if [ "$DPBIT" ]; then
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
out="libgcc/${dir}/${name}${objext}"
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo $out: $libgccdir $DPBIT $fpbit_c_dep
echo $out: $DPBIT $fpbit_c_dep
echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
-c $DPBIT -o $out
done
......@@ -239,7 +214,7 @@ for file in $LIB2ADD; do
fprime=`cat $file`
for f in $fprime; do
lastout="force"
lastout="stmp-dirs $file"
for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
......@@ -268,12 +243,7 @@ for file in $LIB2ADD; do
flags="$flags -xassembler-with-cpp"
fi
if [ $dir = . ]; then
libgccdir="libgcc"
else
libgccdir="libgcc/${dir}"
fi
echo $out: $libgccdir $file
echo $out: stmp-dirs $file
echo " $gcc_compile" $flags -c $file -o $out
done
libgcc2_objs="$libgcc2_objs ${oname}${objext}"
......@@ -305,21 +275,25 @@ for ml in $MULTILIBS; do
done
echo ""
all="libgcc"
all=stmp-dirs
dirs=libgcc
echo "libgcc:; -mkdir libgcc"
for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
if [ $dir != . ]; then
echo "libgcc/${dir}: libgcc; -mkdir libgcc/${dir}"
echo "${dir}:; -mkdir ${dir}"
all="$all ${dir} libgcc/${dir}"
dirs="$dirs ${dir} libgcc/${dir}"
fi
all="$all ${dir}/libgcc.a"
done
echo 'stmp-dirs: force'
echo ' for d in '"$dirs"'; do \'
echo ' if [ -d $$d ]; then true; else mkdir $$d; fi \'
echo ' done'
echo ' if [ -f stmp-dirs ]; then true; else touch stmp-dirs; fi'
for f in $EXTRA_MULTILIB_PARTS; do
lastout="force"
lastout="stmp-dirs force"
for ml in $MULTILIBS; do
dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
......
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