+ifeq "$(findstring ghc, $(SUBDIRS))" "ghc"
+
+stage1 : build
+
+stage2 :
+ $(MAKE) -C ghc/compiler boot stage=2
+ $(MAKE) -C ghc/compiler stage=2
+
+stage3 :
+ $(MAKE) -C ghc/compiler boot stage=3
+ $(MAKE) -C ghc/compiler stage=3
+
+bootstrap : bootstrap2
+bootstrap2 : stage1 stage2
+bootstrap3 : stage1 stage2 stage3
+
+all :: bootstrap
+
+# We want to install the stage 2 bootstrapped compiler by default, but we let
+# the user override this by saying 'make install stage=1', for example.
+ifeq "$(stage)" ""
+INSTALL_STAGE = stage=2
+endif
+
+else # Not building GHC
+
+all :: build
+
+INSTALL_STAGE =
+
+endif
+