-ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
-BinDistShScripts = ghc-$(ProjectVersion) ghci-$(ProjectVersion) ghc-pkg-$(ProjectVersion) hsc2hs
+binary-dist::
+ -rm -rf $(BIN_DIST_DIR)
+ -$(RM) $(BIN_DIST_DIR).tar.gz
+
+# When making bindists, we can have problems if some things (e.g. ghc-pkg)
+# are compiled with the bootstrapping compiler and some (e.g. the stage 2
+# compiler) with the stage1 compiler. See #1860 for an example.
+# Thus we rebuild the utils with stage 1 here. This is a bit unpleasant,
+# as binary-dist really shouldn't actually build anything, but it works.
+binary-dist::
+ $(MAKE) -C utils clean
+ $(MAKE) -C utils UseStage1=YES boot
+ $(MAKE) -C utils UseStage1=YES
+
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+
+binary-dist::
+ $(MAKE) prefix=$(BIN_DIST_DIR) install
+ $(MAKE) prefix=$(BIN_DIST_DIR) install-docs
+
+binary-dist::
+ cd $(BIN_DIST_DIR) && ../distrib/prep-bin-dist-mingw
+
+binary-dist::
+ $(MKDIRHIER) $(BIN_DIST_DIR)/icons
+ cp distrib/hsicon.ico $(BIN_DIST_DIR)/icons
+