diff options
author | Jason Merrill <jason@casey.soma.redhat.com> | 2000-06-06 01:56:06 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-06-05 21:56:06 -0400 |
commit | 2aceb30d9029b71a65670c044a9ef43a501786fa (patch) | |
tree | 5268c770b2db6d65f7968bbc4518ed5dab018a39 /gcc | |
parent | fce8451d8208d1a5ada66135128bc2cd08820abe (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 24 | ||||
-rw-r--r-- | gcc/mklibgcc.in | 66 |
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'`; |