~ chicken-core (chicken-5) 98e3c4d311cfd1ba901cc71303e77cee49d3eb07
commit 98e3c4d311cfd1ba901cc71303e77cee49d3eb07
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Apr 10 23:16:14 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Apr 10 23:16:14 2010 +0200
added 3-stage build
diff --git a/rules.make b/rules.make
index 1c52b49f..80e9829c 100644
--- a/rules.make
+++ b/rules.make
@@ -1037,3 +1037,28 @@ testclean:
check: $(CHICKEN_SHARED_EXECUTABLE) $(CSI_SHARED_EXECUTABLE) $(CSC_PROGRAM)
cd tests; sh runtests.sh
+
+
+# 3-stage build
+
+.PHONY: stage1 stage2 stage3
+
+stage1:
+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 DEBUGBUILD=1 \
+ CHICKEN=$(CHICKEN) confclean clean $(CHICKEN_PROGRAM)
+ $(COPY_COMMAND) $(CHICKEN_PROGRAM) $(CHICKEN_PROGRAM)-stage1$(EXE)
+ -chmod +x $(CHICKEN_PROGRAM)-stage1$(EXE)
+ -touch *.scm
+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) stage2
+
+stage2:
+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) STATICBUILD=1 DEBUGBUILD=1 \
+ CHICKEN=./$(CHICKEN_PROGRAM)-stage1 clean $(CHICKEN_PROGRAM)
+ $(COPY_COMMAND) $(CHICKEN_PROGRAM) $(CHICKEN_PROGRAM)-stage2$(EXE)
+ -chmod +x $(CHICKEN_PROGRAM)-stage2$(EXE)
+ -touch *.scm
+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) stage3
+
+stage3:
+ $(MAKE) -f $(SRCDIR)Makefile.$(PLATFORM) CONFIG=$(CONFIG) \
+ CHICKEN=./$(CHICKEN_PROGRAM)-stage2 confclean clean all
Trap