# ToDo List.
#
-# Before we can merge the new build system into HEAD:
-#
# * finish installation
# * other documentation
# * create doc index and contents
# * Windows: should we have ghc-pkg-<version>?
# * should we be stripping things?
# * install libgmp.a, gmp.h
-# * finish binary distributions
# * need to fix Cabal for new Windows layout, see
# Distribution/Simple/GHC.configureToolchain.
-#
-# Once the new build system is in HEAD, and before 6.12:
-#
-# * separate the logic of whether to do something from the test for
-# existence of the tool to do it. For example, rather than checking
-# if $DIR_DOCBOOK_XSL or $XSLTPROC is "", we should have a variable
-# for controlling the building of the docs.
# * remove old Makefiles, add new stubs for building in subdirs
# * utils/hsc2hs/Makefile
# * utils/haddock/Makefile
# * GhcProfiled
# * optionally install stage3?
# * shared libraries, way dyn
-# * get HC bootstrapping working
# * add Makefiles for the rest of the utils/ programs that aren't built
# by default (need to exclude them from 'make all' too)
#
"$(RM)" $(RM_OPTS) $(BIN_DIST_TAR)
# h means "follow symlinks", e.g. if aclocal.m4 is a symlink to a source
# tree then we want to include the real file, not a symlink to it
- "$(TAR)" hcf - -T $(BIN_DIST_LIST) | bzip2 -c >$(BIN_DIST_TAR_BZ2)
+ "$(TAR)" hcf - -T $(BIN_DIST_LIST) | bzip2 -c > $(BIN_DIST_TAR_BZ2)
+
+windows-binary-dist:
+ "$(RM)" $(RM_OPTS) -r $(BIN_DIST_NAME)
+ $(MAKE) prefix=$(BIN_DIST_DIR) install
+ "$(TAR)" cf - $(BIN_DIST_NAME) | bzip2 -c > $(BIN_DIST_TAR_BZ2)
+
+windows-installer:
+ "$(ISCC)" /O. /F$(WINDOWS_INSTALLER_BASE) - < distrib/ghc.iss
nTimes = set -e; for i in `seq 1 $(1)`; do echo Try "$$i: $(2)"; if $(2); then break; fi; done
.PHONY: publish-binary-dist
publish-binary-dist:
$(call nTimes,10,$(PublishCp) $(BIN_DIST_TAR_BZ2) $(PublishLocation)/dist)
+ifeq "$(mingw32_TARGET_OS)" "1"
+ $(call nTimes,10,$(PublishCp) $(WINDOWS_INSTALLER) $(PublishLocation)/dist)
+endif
# -----------------------------------------------------------------------------
# Source distributions
"$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist, $(PACKAGES) $(PACKAGES_STAGE2))
"$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist-install, $(PACKAGES) $(PACKAGES_STAGE2))
"$(RM)" $(RM_OPTS) -r $(patsubst %, libraries/%/dist-boot, $(PACKAGES) $(PACKAGES_STAGE2))
+ "$(RM)" $(RM_OPTS) $(patsubst %, libraries/%/*.buildinfo, $(PACKAGES) $(PACKAGES_STAGE2))
distclean : clean
"$(RM)" $(RM_OPTS) config.cache config.status config.log mk/config.h mk/stamp-h