X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=e2f24a2709db654c140b072a78b5e309aba88608;hb=a9afdc24b1b2bbe63d71e8e2890770edfa8a6a8d;hp=c4ff13cfca4ac8a80de6f2bf07f4bfe1c547a74e;hpb=79b4f894215ae098c26cfe8fb7bc7f89008e8420;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index c4ff13c..e2f24a2 100644 --- a/Makefile +++ b/Makefile @@ -67,12 +67,23 @@ include $(TOP)/mk/boilerplate.mk # We can't 'make boot' in libraries until stage1 is built ifeq "$(BootingFromHc)" "YES" -SUBDIRS_BUILD = gmp libffi includes rts compat compiler docs utils driver +SUBDIRS_BUILD = includes compiler docs utils driver else -SUBDIRS_BUILD = gmp libffi includes compat utils driver docs compiler rts libraries/Cabal/doc +SUBDIRS_BUILD = includes utils driver docs compiler libraries/Cabal/doc endif -SUBDIRS = gmp libffi includes compat utils driver docs rts libraries compiler libraries/Cabal/doc +SUBDIRS = gmp libffi includes utils driver docs rts compiler ghc libraries libraries/Cabal/doc + +check-all: check-tools check-packages + +check-tools: + @: +ifeq "$(HADDOCK_DOCS)" "YES" +ifeq "$(HADDOCK)" "" + echo "Couldn't find haddock" >&2 + exit 1 +endif +endif # Sanity check that all the boot libraries are in the tree, to catch # failure to run darcs-all. @@ -97,9 +108,12 @@ GCC_LIB_DEP = stamp.inplace-gcc-lib endif endif -stage1 : $(GCC_LIB_DEP) check-packages +stage1 : $(GCC_LIB_DEP) check-all $(MAKE) -C libraries boot + $(MAKE) -C gmp all + $(MAKE) -C libffi all $(MAKE) -C utils/mkdependC boot + $(MAKE) -C utils with-bootstrapping-compiler @case '${MFLAGS}' in *-[ik]*) x_on_err=0;; *-r*[ik]*) x_on_err=0;; *) x_on_err=1;; esac; \ for i in $(SUBDIRS_BUILD); do \ echo "------------------------------------------------------------------------"; \ @@ -117,7 +131,12 @@ stage1 : $(GCC_LIB_DEP) check-packages $(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 + $(MAKE) -C utils with-stage-1 # When making distributions (i.e., whether with binary-dist or using the # vanilla install target to create an installer package), we can have problems @@ -126,14 +145,17 @@ stage1 : $(GCC_LIB_DEP) check-packages # an example. Thus, we explicitly build a second version with the stage 1 # compiler of all utils that get installed and of all extra support binaries # includes in binary dists. -stage2 : check-packages - $(MAKE) -C compiler boot stage=2 +stage2 : check-all + $(MAKE) -C compiler stage=2 boot $(MAKE) -C compiler stage=2 + $(MAKE) -C ghc stage=2 boot + $(MAKE) -C ghc stage=2 - -stage3 : check-packages - $(MAKE) -C compiler boot stage=3 +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 @@ -310,7 +332,6 @@ binary-dist-pre:: echo 'include $$(TOP)/mk/package.mk' > $(BIN_DIST_DIR)/mk/target.mk echo 'include $$(TOP)/mk/install.mk' >> $(BIN_DIST_DIR)/mk/target.mk echo 'include $$(TOP)/mk/recurse.mk' >> $(BIN_DIST_DIR)/mk/target.mk - echo '' > $(BIN_DIST_DIR)/mk/compat.mk cp mk/package.mk $(BIN_DIST_DIR)/mk/ cp mk/install.mk $(BIN_DIST_DIR)/mk/ cp mk/recurse.mk $(BIN_DIST_DIR)/mk/ @@ -467,7 +488,7 @@ SRC_DIST_DIRS += mk docs distrib bindisttest $(filter-out docs distrib libraries SRC_DIST_FILES += \ configure.ac config.guess config.sub configure \ aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \ - ghc.spec.in extra-gcc-opts.in VERSION boot + ghc.spec.in ghc.spec extra-gcc-opts.in VERSION boot # ----------------------------------------------------------------------------- # Source distributions @@ -531,7 +552,6 @@ hc-file-bundle : $(LN_S) . ghc-$(ProjectVersion) $(FIND) ghc-$(ProjectVersion)/compiler \ ghc-$(ProjectVersion)/utils \ - ghc-$(ProjectVersion)/compat \ ghc-$(ProjectVersion)/libraries -follow \ \( -name "*.hc" -o -name "*_hsc.[ch]" -o -name "*_stub.[ch]" \) -print > hc-files-to-go for f in `$(FIND) ghc-$(ProjectVersion)/compiler ghc-$(ProjectVersion)/utils ghc-$(ProjectVersion)/libraries -name "*.hsc" -follow -print` ""; do \ @@ -557,7 +577,7 @@ hc-file-bundle : CLEAN_FILES += hc-files-to-go *-hc.tar.gz DIST_CLEAN_FILES += config.cache config.status mk/config.h mk/stamp-h \ - ghc.spec docs/users_guide/ug-book.xml extra-gcc-opts + 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