aboutsummaryrefslogtreecommitdiff
path: root/gcc/Makefile.in
diff options
context:
space:
mode:
authorAaron Jackson <jackson@negril.msrce.howard.edu>1997-09-29 06:37:11 +0000
committerJeff Law <law@gcc.gnu.org>1997-09-29 00:37:11 -0600
commitb1e3ddfd2914dda056da9533f55ffeb291975b10 (patch)
tree84576198ea7ea61999328571beccbf475c738bb8 /gcc/Makefile.in
parentc02f035f409537d2b7e9ed626a3c424026eb8602 (diff)
downloadgcc-b1e3ddfd2914dda056da9533f55ffeb291975b10.zip
gcc-b1e3ddfd2914dda056da9533f55ffeb291975b10.tar.gz
gcc-b1e3ddfd2914dda056da9533f55ffeb291975b10.tar.bz2
Makefile.in (bootstrap-lean): New target.
* Makefile.in (bootstrap-lean): New target. * gcc/Makefile.in (bootstrap-lean, compare-lean): New targets. From-SVN: r15786
Diffstat (limited to 'gcc/Makefile.in')
-rw-r--r--gcc/Makefile.in41
1 files changed, 41 insertions, 0 deletions
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 \