From b1e3ddfd2914dda056da9533f55ffeb291975b10 Mon Sep 17 00:00:00 2001 From: Aaron Jackson Date: Mon, 29 Sep 1997 06:37:11 +0000 Subject: Makefile.in (bootstrap-lean): New target. * Makefile.in (bootstrap-lean): New target. * gcc/Makefile.in (bootstrap-lean, compare-lean): New targets. From-SVN: r15786 --- gcc/ChangeLog | 4 ++++ gcc/Makefile.in | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 513abf5..76baa0e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Mon Sep 29 00:38:42 1997 Aaron Jackson + + * 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 diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 7029063..3ca979b 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -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 \ -- cgit v1.1