# 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,"; \
$(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
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
binary-dist::
-rm -rf $(BIN_DIST_DIR)
- -$(RM) $(BIN_DIST_TARBALL)
+ -$(RM) $(BIN_DIST_TAR_BZ2)
ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
$(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
$(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)" ""
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