aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.soma.redhat.com>2000-06-06 01:56:06 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-06-05 21:56:06 -0400
commit2aceb30d9029b71a65670c044a9ef43a501786fa (patch)
tree5268c770b2db6d65f7968bbc4518ed5dab018a39
parentfce8451d8208d1a5ada66135128bc2cd08820abe (diff)
downloadgcc-2aceb30d9029b71a65670c044a9ef43a501786fa.zip
gcc-2aceb30d9029b71a65670c044a9ef43a501786fa.tar.gz
gcc-2aceb30d9029b71a65670c044a9ef43a501786fa.tar.bz2
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
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/Makefile.in24
-rw-r--r--gcc/mklibgcc.in66
3 files changed, 39 insertions, 60 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e0195c7..c74aaf9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
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.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index b2183e5..089da1e 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -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 \
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index 77907d0..c46c638 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -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'`;