X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc.mk;h=d6a50944337dff34f5c52afa2b13a901cf1be215;hb=c02fff61e20cc64f6c0b5010d30e13efa18ae1bb;hp=73dc5f7e2da7b1f82ecb63e58ba9a7bdf43c58ee;hpb=467f1aa698446b99d365122a2a30d1618f2bec74;p=ghc-hetmet.git diff --git a/ghc.mk b/ghc.mk index 73dc5f7..d6a5094 100644 --- a/ghc.mk +++ b/ghc.mk @@ -12,24 +12,14 @@ # 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-? # * 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 @@ -45,7 +35,6 @@ # * 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) # @@ -777,13 +766,24 @@ binary-dist: "$(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 @@ -905,6 +905,7 @@ clean_libraries: "$(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