]> gcc.gnu.org Git - gcc.git/commitdiff
Makefile.in (bootstrap-lean): New target.
authorAaron Jackson <jackson@negril.msrce.howard.edu>
Mon, 29 Sep 1997 06:37:11 +0000 (06:37 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 29 Sep 1997 06:37:11 +0000 (00:37 -0600)
        * Makefile.in (bootstrap-lean): New target.
        * gcc/Makefile.in (bootstrap-lean, compare-lean): New targets.

From-SVN: r15786

ChangeLog
Makefile.in
gcc/ChangeLog
gcc/Makefile.in

index a01bcf927ba9bc5e76f31cb53502fdb769a7461b..147325d75733c2e6d9cd8a29f95f789ff910d744 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Sep 29 00:38:08 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
+
+       * Makefile.in (bootstrap-lean): New target.
+
 Thu Sep 18 23:58:27 1997  Jeffrey A Law  (law@cygnus.com)
 
        * Makefile.in (cross): New target.
index 063293453d2f87af68e96276c0d1d1e0c529d223..b7f9c27be7954c78d47bcebdaae400f63d2d1888 100644 (file)
@@ -1298,6 +1298,21 @@ bootstrap bootstrap2 bootstrap3: all-texinfo all-bison all-byacc all-binutils al
        @echo "Building runtime libraries"; \
        $(MAKE) all
 
+.PHONY: bootstrap-lean
+bootstrap-lean: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
+       @r=`pwd`; export r; \
+       s=`cd $(srcdir); pwd`; export s; \
+       $(SET_LIB_PATH) \
+       echo "Bootstrapping the compiler"; \
+       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) $@
+       @r=`pwd`; export r; \
+       s=`cd $(srcdir); pwd`; export s; \
+       $(SET_LIB_PATH) \
+       echo "Comparing stage2 and stage3 of the compiler"; \
+       cd gcc; $(MAKE) $(GCC_FLAGS_TO_PASS) compare-lean
+       @echo "Building runtime libraries"; \
+       $(MAKE) all
+
 .PHONY: cross
 cross: all-texinfo all-bison all-byacc all-binutils all-gas all-ld
        @r=`pwd`; export r; \
index 513abf58a5e99bb4d4ed8195727a36bb978b7ff0..76baa0e829ae3ec44b285ca8b3a7c149251b6372 100644 (file)
@@ -1,3 +1,7 @@
+Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
+
+       * Makefile.in (bootstrap-lean, compare-lean): New targets.
+
 Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
 
        * alias.c (base_alias_check): Two symbols can conflict if they
index 70290639b57efce2777f2a54885f22e9a90ea230..3ca979b79f518362132f073699f37650b1644cb4 100644 (file)
@@ -2576,6 +2576,22 @@ bootstrap: force
        $(MAKE) stage2
        $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
 
+bootstrap-lean: force
+# Only build the C compiler for stage1, because that is the only one that
+# we can guarantee will build with the native compiler, and also it is the
+# only thing useful for building stage2.
+       $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)"
+       $(MAKE) stage1
+# This used to define ALLOCA as empty, but that would lead to bad results
+# for a subsequent `make install' since that would not have ALLOCA empty.
+# To prevent `make install' from compiling alloca.o and then relinking cc1
+# because alloca.o is newer, we permit these recursive makes to compile
+# alloca.o.  Then cc1 is newer, so it won't have to be relinked.
+       $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
+       $(MAKE) stage2
+       rm -rf stage1
+       $(MAKE) CC="stage2/xgcc -Bstage2/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
+
 bootstrap2: force
        $(MAKE) CC="stage1/xgcc -Bstage1/" CFLAGS="$(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
        $(MAKE) stage2
@@ -2612,6 +2628,31 @@ compare: force
        else true; \
        fi
 
+# ./ avoids bug in some versions of tail.
+compare-lean: force
+       -rm -f .bad_compare
+       for file in *$(objext); do \
+         tail +16c ./$$file > tmp-foo1; \
+         tail +16c stage2/$$file > tmp-foo2 \
+           && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+       done
+       for dir in tmp-foo $(SUBDIRS); do \
+         if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
+           for file in $$dir/*$(objext); do \
+             tail +16c ./$$file > tmp-foo1; \
+             tail +16c stage2/$$file > tmp-foo2 \
+               && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
+           done; \
+         fi; \
+       done
+       -rm -f tmp-foo*
+       if [ -f .bad_compare ]; then \
+         echo "Bootstrap comparison failure!"; \
+         cat .bad_compare; \
+         exit 1; \
+       else rm -rf stage2; \
+       fi
+
 # Similar, but compare with stage3 directory
 compare3: force
        for file in *$(objext); do \
This page took 0.09821 seconds and 5 git commands to generate.