merge from gcc:
[external/binutils.git] / Makefile.tpl
index 7ae10de..18d55f2 100644 (file)
@@ -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.