Fix "make 2"
authorIan Lynagh <igloo@earth.li>
Tue, 27 Apr 2010 16:22:12 +0000 (16:22 +0000)
committerIan Lynagh <igloo@earth.li>
Tue, 27 Apr 2010 16:22:12 +0000 (16:22 +0000)
The new Makefile logic was enabling the stage 1 rules when stage=2,
so "make 2" was rebuilding stage 1.

compiler/ghc.mk
ghc/ghc.mk

index ef662f6..3b12f7c 100644 (file)
@@ -439,13 +439,19 @@ compiler_stage1_SplitObjs = NO
 compiler_stage2_SplitObjs = NO
 compiler_stage3_SplitObjs = NO
 
 compiler_stage2_SplitObjs = NO
 compiler_stage3_SplitObjs = NO
 
+# If we "make 1" or "make 2" then we don't want the rules for the stage
+# that we haven't been asked to build
 ifeq "$(stage)" "1"
 compiler_stage2_NOT_NEEDED = YES
 endif
 ifeq "$(stage)" "1"
 compiler_stage2_NOT_NEEDED = YES
 endif
+ifeq "$(stage)" "2"
+compiler_stage1_NOT_NEEDED = YES
+endif
+# We don't want the rules for stage3 unless we have been explicitly
+# asked to build it
 ifneq "$(stage)" "3"
 compiler_stage3_NOT_NEEDED = YES
 endif
 ifneq "$(stage)" "3"
 compiler_stage3_NOT_NEEDED = YES
 endif
-
 $(eval $(call build-package,compiler,stage1,0))
 $(eval $(call build-package,compiler,stage2,1))
 $(eval $(call build-package,compiler,stage3,2))
 $(eval $(call build-package,compiler,stage1,0))
 $(eval $(call build-package,compiler,stage2,1))
 $(eval $(call build-package,compiler,stage3,2))
index 4c98b3e..0203344 100644 (file)
@@ -103,9 +103,16 @@ define ghc_stage$(INSTALL_GHC_STAGE)_INSTALL_SHELL_WRAPPER_EXTRA
 echo 'executablename="$$exedir/ghc"' >> "$(WRAPPER)"
 endef
 
 echo 'executablename="$$exedir/ghc"' >> "$(WRAPPER)"
 endef
 
+# If we "make 1" or "make 2" then we don't want the rules for the stage
+# that we haven't been asked to build
 ifeq "$(stage)" "1"
 ghc_stage2_NOT_NEEDED = YES
 endif
 ifeq "$(stage)" "1"
 ghc_stage2_NOT_NEEDED = YES
 endif
+ifeq "$(stage)" "2"
+ghc_stage1_NOT_NEEDED = YES
+endif
+# We don't want the rules for stage3 unless we have been explicitly
+# asked to build it
 ifneq "$(stage)" "3"
 ghc_stage3_NOT_NEEDED = YES
 endif
 ifneq "$(stage)" "3"
 ghc_stage3_NOT_NEEDED = YES
 endif