summaryrefslogtreecommitdiff
path: root/Makefile.tpl
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2004-04-27 18:25:01 +0000
committerDJ Delorie <dj@redhat.com>2004-04-27 18:25:01 +0000
commitb89087822a20db8fc1290f6afc56002a143207bd (patch)
tree9b7b6c8fa375db8632dbe1f70f181bf20420926c /Makefile.tpl
parentbeb8df56a1b4c58ed3d79b3cec93c15f91290147 (diff)
downloadbinutils-gdb-b89087822a20db8fc1290f6afc56002a143207bd.tar.gz
merge from gcc:
2004-04-27 Paolo Bonzini <bonzini@gnu.org> Revert: 2004-04-26 Paolo Bonzini <bonzini@gnu.org> * Makefile.def (flags_to_pass): Remove *dir variables that are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS, as well as prefix and exec_prefix. * Makefile.in: Regenerate. 2004-04-26 Paolo Bonzini <bonzini@gnu.org> * Makefile.def (host_modules): Mark with the bootstrap flag packages on which gcc depends. * Makefile.tpl (all-bootstrap): Use it. * Makefile.in: Regenerate. 2004-04-26 Paolo Bonzini <bonzini@gnu.org> * Makefile.def (flags_to_pass): Remove *dir variables that are passed to the modules via TOPLEVEL_CONFIGURE_ARGUMENTS, as well as prefix and exec_prefix. * Makefile.in: Regenerate. 2004-04-26 Paolo Bonzini <bonzini@gnu.org> * configure.in: Invoke ACX_PROG_CMP_IGNORE_INITIAL. * configure: Regenerate. * config/acx.m4: Mutuate ACX_PROG_CMP_IGNORE_INITIAL from gcc. * gcc/Makefile.tpl (compare): Use the result of the test. * gcc/Makefile.in: Regenerate. 2004-04-23 Paolo Bonzini <bonzini@gnu.org> * Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc): Always relocate gcc and prev-gcc to the original names, even if the build fails. (new-cleanstrap, new-restage1, new-restage2, new-restage3): New targets.
Diffstat (limited to 'Makefile.tpl')
-rw-r--r--Makefile.tpl46
1 files changed, 36 insertions, 10 deletions
diff --git a/Makefile.tpl b/Makefile.tpl
index 7ae10deab3b..18d55f229f4 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -1377,11 +1377,11 @@ all-stage1-gcc: configure-stage1-gcc prebootstrap
mv stage1-gcc gcc ; \
cd gcc && \
$(MAKE) $(GCC_FLAGS_TO_PASS) \
- CFLAGS="$(STAGE1_CFLAGS)" \
- || exit 1 ; \
+ CFLAGS="$(STAGE1_CFLAGS)" && $(STAMP) ../all-stage1-gcc ; \
+ result=$$? ; \
cd .. ; \
mv gcc stage1-gcc ; \
- $(STAMP) all-stage1-gcc
+ exit $$result
# TODO: Deal with STAGE_PREFIX (which is only for ada, incidentally)
# Possibly pass --enable-werror-always (depending on --enable-werror);
@@ -1453,11 +1453,12 @@ all-stage2-gcc: all-stage1-gcc configure-stage2-gcc
CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=$$r/prev-gcc/ \
- $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage2-gcc ; \
+ result=$$? ; \
cd .. ; \
mv prev-gcc stage1-gcc ; \
mv gcc stage2-gcc ; \
- $(STAMP) all-stage2-gcc
+ exit $$result
configure-stage3-gcc: all-stage2-gcc
echo configure-stage3-gcc > stage_last ; \
@@ -1520,11 +1521,12 @@ all-stage3-gcc: all-stage2-gcc configure-stage3-gcc
CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/" \
STAGE_PREFIX=$$r/prev-gcc/ \
- $(POSTSTAGE1_FLAGS_TO_PASS) || exit 1 ; \
+ $(POSTSTAGE1_FLAGS_TO_PASS) && $(STAMP) ../all-stage3-gcc \
+ result=$$? ; \
cd .. ; \
mv prev-gcc stage2-gcc ; \
mv gcc stage3-gcc ; \
- $(STAMP) all-stage3-gcc
+ exit $$result
# We only want to compare .o files, so set this!
objext = .o
@@ -1537,8 +1539,8 @@ compare: all-stage3-gcc
files=`find . -name "*$(objext)" -print` ; \
cd .. ; \
for file in $${files} ; do \
- cmp --ignore-initial=16 $$r/stage2-gcc/$$file $$r/stage3-gcc/$$file \
- > /dev/null 2>&1; \
+ f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \
+ @do_compare@ > /dev/null 2>&1; \
test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
done ; \
if [ -f .bad_compare ]; then \
@@ -1559,6 +1561,30 @@ new-bootstrap: compare
$(MAKE) all ; \
mv gcc stage3-gcc
+new-cleanstrap:
+ rm -rf configure-stage1-gcc all-stage1-gcc stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) new-bootstrap
+
+new-restage1:
+ rm -rf all-stage1-gcc \
+ configure-stage2-gcc all-stage2-gcc stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage1-gcc
+
+new-restage2: all-stage1-gcc
+ rm -rf all-stage2-gcc \
+ configure-stage3-gcc all-stage3-gcc stage3-gcc \
+ compare
+ $(MAKE) all-stage2-gcc
+
+new-restage3: all-stage2-gcc
+ rm -rf all-stage3-gcc compare
+ $(MAKE) compare
+
# --------------------------------------
# Dependencies between different modules
# --------------------------------------
@@ -1578,7 +1604,7 @@ all-gcc: maybe-all-libiberty maybe-all-intl maybe-all-bison maybe-all-byacc mayb
# This is a slightly kludgy method of getting dependencies on
# all-build-libiberty correct; it would be better to build it every time.
all-gcc: maybe-all-build-libiberty
-all-bootstrap: maybe-all-libiberty maybe-all-intl maybe-all-texinfo maybe-all-bison maybe-all-byacc maybe-all-binutils maybe-all-gas maybe-all-ld maybe-all-zlib
+all-bootstrap: [+ FOR host_modules +][+ IF bootstrap +]maybe-all-[+module+] [+ ENDIF bootstrap +][+ ENDFOR host_modules +]
# Host modules specific to gdb.
# GDB needs to know that the simulator is being built.