X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=3bd6b726680df3ac265ce9ee17e2df2fdd3a8849;hb=081d294c2a4a9e886e96ab50cf43718b54696646;hp=157fd31482b68b180e103aa5d988f48be5d906f1;hpb=e6d754fa58e9ba2f6d990c4975f474615592a9c9;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 157fd31..3bd6b72 100644 --- a/Makefile +++ b/Makefile @@ -88,7 +88,7 @@ endif # Sanity check that all the boot libraries are in the tree, to catch # failure to run darcs-all. check-packages : - @ds=`grep "^[^# ][^ ]* *[^ ][^ ]*$$" packages | sed "s/ .*//"`;\ + @ds=`grep "^[^# ][^ ]* *[^ ][^ ]* *[^ ][^ ]*$$" packages | sed "s/ .*//"`;\ for d in $$ds; do \ if test ! -d $$d; then \ echo "Looks like you're missing $$d,"; \ @@ -131,8 +131,6 @@ stage1 : $(GCC_LIB_DEP) check-all $(MAKE) --no-print-directory -C $$i $(MFLAGS) all; \ if [ $$? -eq 0 -o $$x_on_err -eq 0 ] ; then true; else exit 1; fi; \ done - $(MAKE) -C ghc stage=1 boot - $(MAKE) -C ghc stage=1 $(MAKE) -C rts boot $(MAKE) -C rts $(MAKE) -C libraries all @@ -151,14 +149,10 @@ stage2 : check-all ifeq "$(HADDOCK_DOCS)" "YES" $(MAKE) -C compiler stage=2 doc endif - $(MAKE) -C ghc stage=2 boot - $(MAKE) -C ghc stage=2 stage3 : check-all $(MAKE) -C compiler stage=3 boot $(MAKE) -C compiler stage=3 - $(MAKE) -C ghc stage=3 boot - $(MAKE) -C ghc stage=3 bootstrap : bootstrap2 @@ -290,7 +284,7 @@ install-docs :: binary-dist:: -rm -rf $(BIN_DIST_DIR) - -$(RM) $(BIN_DIST_TARBALL) + -$(RM) $(BIN_DIST_TAR_BZ2) ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" @@ -305,6 +299,14 @@ binary-dist:: $(MKDIRHIER) $(BIN_DIST_DIR)/icons cp distrib/hsicon.ico $(BIN_DIST_DIR)/icons +# Tar up the distribution and build a manifest +binary-dist :: tar-binary-dist + +.PHONY: tar-binary-dist +tar-binary-dist: + ( cd $(BIN_DIST_TOPDIR_ABS); tar cf - $(BIN_DIST_NAME) | bzip2 > $(BIN_DIST_TAR_BZ2) ) + ( cd $(BIN_DIST_TOPDIR_ABS); bunzip2 -c $(BIN_DIST_TAR_BZ2) | tar tf - | sed "s/^ghc-$(ProjectVersion)/fptools/" | sort >$(FPTOOLS_TOP_ABS)/bin-manifest-$(ProjectVersion) ) + else .PHONY: binary-dist @@ -395,22 +397,15 @@ endif $(RM) -f $(BIN_DIST_NAME) ln -s . $(BIN_DIST_NAME) - tar cf $(BIN_DIST_TAR) -T $(BIN_DIST_LIST) +# 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 $(BIN_DIST_TAR) -T $(BIN_DIST_LIST) cd $(BIN_DIST_PREP_DIR) && tar rf $(BIN_DIST_TAR) $(BIN_DIST_NAME) bzip2 < $(BIN_DIST_TAR) > $(BIN_DIST_TAR_BZ2) tar tf $(BIN_DIST_TAR) | sort > bin-manifest-$(ProjectVersion) endif -# XXX Presumably we still need to do this for Windows? -## Tar up the distribution and build a manifest -#binary-dist :: tar-binary-dist -# -#.PHONY: tar-binary-dist -#tar-binary-dist: -# ( cd $(BIN_DIST_TOPDIR_ABS); tar cf - $(BIN_DIST_NAME) | bzip2 >$(BIN_DIST_TARBALL) ) -# ( cd $(BIN_DIST_TOPDIR_ABS); bunzip2 -c $(BIN_DIST_TARBALL) | tar tf - | sed "s/^ghc-$(ProjectVersion)/fptools/" | sort >$(FPTOOLS_TOP_ABS)/bin-manifest-$(ProjectVersion) ) - -PUBLISH_FILES = $(BIN_DIST_TARBALL) +PUBLISH_FILES = $(BIN_DIST_TAR_BZ2) # Upload the distribution and documentation ifneq "$(ISCC)" "" @@ -601,7 +596,7 @@ DIST_CLEAN_FILES += config.cache config.status mk/config.h mk/stamp-h \ docs/users_guide/ug-book.xml extra-gcc-opts # don't clean config.mk: it's needed when cleaning stuff later on -LATE_DIST_CLEAN_FILES += mk/config.mk +LATE_DIST_CLEAN_FILES += mk/config.mk mk/are-validating.mk # VERSION is shipped in a source dist MAINTAINER_CLEAN_FILES += VERSION