+ifeq "$(BUILD_GHC_PACKAGE)" "YES"
+ifeq "$(way)" ""
+all :: $(GHC_PROG)
+endif
+endif
+
+$(odir)/main/Config.$(way_)o: SRC_HC_OPTS+=-DSTAGE=$(DQ)$(stage)$(DQ)
+
+#-----------------------------------------------------------------------------
+# binary-dist
+
+ifeq "$(DOING_BIN_DIST)" "YES"
+# This is derived from the sources when we are in a source tree, but we
+# don't have any sources in a bindist, so we have to shortcut it
+HS_IFACES := $(wildcard stage$(stage)/*/*.hi)
+endif
+
+binary-dist:
+ $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler
+ $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/stage$(stage)
+ echo "stage=$(stage)" > $(BIN_DIST_DIR)/compiler/Makefile
+ cat Makefile >> $(BIN_DIST_DIR)/compiler/Makefile
+ $(INSTALL_DATA) package.conf.in $(BIN_DIST_DIR)/compiler/
+ set -e; for d in stage$(stage)/*/; do $(INSTALL_DIR) $(BIN_DIST_DIR)/compiler/$$d; done
+ set -e; for f in $(HS_IFACES); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done
+ifneq "$(INSTALL_LIBS)" ""
+ set -e; for f in $(INSTALL_LIBS); do $(INSTALL_DATA) $$f $(BIN_DIST_DIR)/compiler/$$f; done
+endif
+ifneq "$(INSTALL_PROGS)" ""
+ set -e; for f in $(INSTALL_PROGS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done
+endif
+ifneq "$(INSTALL_LIBEXECS)" ""
+ set -e; for f in $(INSTALL_LIBEXECS); do $(INSTALL_PROGRAM) $$f $(BIN_DIST_DIR)/compiler/$$f; done
+endif
+
+# -----------------------------------------------------------------------------
+# Explicit dependencies
+
+# Some .hs files #include other source files, but since ghc -M doesn't spit out
+# these dependencies we have to include them manually.
+
+# We don't add dependencies on HsVersions.h, ghcautoconf.h, or ghc_boot_platform.h,
+# because then modifying one of these files would force recompilation of everything,
+# which is probably not what you want. However, it does mean you have to be
+# careful to recompile stuff you need if you reconfigure or change HsVersions.h.
+
+# Aargh, these don't work properly anyway, because GHC's recompilation checker
+# just reports "compilation NOT required". Do we have to add -no-recomp for each
+# of these .hs files? I haven't done anything about this yet.
+
+$(odir)/codeGen/Bitmap.$(way_)o : ../includes/MachDeps.h
+$(odir)/codeGen/CgCallConv.$(way_)o : ../includes/StgFun.h
+$(odir)/codeGen/CgProf.$(way_)o : ../includes/MachDeps.h
+$(odir)/codeGen/CgProf.$(way_)o : ../includes/Constants.h
+$(odir)/codeGen/CgProf.$(way_)o : ../includes/DerivedConstants.h
+$(odir)/codeGen/CgTicky.$(way_)o : ../includes/DerivedConstants.h
+$(odir)/codeGen/ClosureInfo.$(way_)o : ../includes/MachDeps.h
+$(odir)/codeGen/SMRep.$(way_)o : ../includes/MachDeps.h
+$(odir)/codeGen/SMRep.$(way_)o : ../includes/ClosureTypes.h
+$(odir)/ghci/ByteCodeAsm.$(way_)o : ../includes/Bytecodes.h
+$(odir)/ghci/ByteCodeFFI.$(way_)o : nativeGen/NCG.h
+$(odir)/ghci/ByteCodeInstr.$(way_)o : ../includes/MachDeps.h
+$(odir)/ghci/ByteCodeItbls.$(way_)o : ../includes/ClosureTypes.h
+$(odir)/ghci/ByteCodeItbls.$(way_)o : nativeGen/NCG.h
+$(odir)/main/Constants.$(way_)o : ../includes/MachRegs.h
+$(odir)/main/Constants.$(way_)o : ../includes/Constants.h
+$(odir)/main/Constants.$(way_)o : ../includes/MachDeps.h
+$(odir)/main/Constants.$(way_)o : ../includes/DerivedConstants.h
+$(odir)/main/Constants.$(way_)o : ../includes/GHCConstants.h
+$(odir)/nativeGen/AsmCodeGen.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/MachCodeGen.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/MachCodeGen.$(way_)o : ../includes/MachDeps.h
+$(odir)/nativeGen/MachInstrs.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/MachRegs.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/MachRegs.$(way_)o : ../includes/MachRegs.h
+$(odir)/nativeGen/PositionIndependentCode.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/PprMach.$(way_)o : nativeGen/NCG.h
+$(odir)/nativeGen/RegAllocInfo.$(way_)o : nativeGen/NCG.h
+$(odir)/typecheck/TcForeign.$(way_)o : nativeGen/NCG.h
+$(odir)/utils/Binary.$(way_)o : ../includes/MachDeps.h
+$(odir)/utils/FastMutInt.$(way_)o : ../includes/MachDeps.h
+