X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Makefile;h=e2f24a2709db654c140b072a78b5e309aba88608;hb=9f7dc57027046a350b57f99059f18819c2cf2ae2;hp=73443f6cd42253fe57cbf613ef434ecefa514502;hpb=3e2748164e3e2e2dc21ca511959671f0f5f2e37f;p=ghc-hetmet.git diff --git a/Makefile b/Makefile index 73443f6..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 includes rts compat compiler docs utils driver +SUBDIRS_BUILD = includes compiler docs utils driver else -SUBDIRS_BUILD = gmp includes compat utils driver docs compiler rts libraries/Cabal/doc +SUBDIRS_BUILD = includes utils driver docs compiler libraries/Cabal/doc endif -SUBDIRS = gmp 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 - $(MAKE) -C utils mostlyclean +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,8 +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 libraries boot + $(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 @@ -127,20 +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 utils mostlyclean - $(MAKE) -C utils stage=2 - $(MAKE) -C compiler boot stage=2 +stage2 : check-all + $(MAKE) -C compiler stage=2 boot $(MAKE) -C compiler stage=2 - $(RM) -f libraries/ifBuildable/ifBuildable - $(MAKE) -C libraries stage=2 ifBuildable/ifBuildable - $(RM) -f libraries/installPackage/installPackage - $(MAKE) -C libraries stage=2 installPackage/installPackage - + $(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 @@ -317,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/ @@ -353,7 +367,7 @@ binary-dist:: echo "HaveLibGmp = $(HaveLibGmp)" >> $(VARFILE) echo "GhcLibsWithUnix = $(GhcLibsWithUnix)" >> $(VARFILE) echo "GhcWithInterpreter = $(GhcWithInterpreter)" >> $(VARFILE) - echo "GhcHasReadline = $(GhcHasReadline)" >> $(VARFILE) + echo "GhcHasEditline = $(GhcHasEditline)" >> $(VARFILE) echo "BootingFromHc = $(BootingFromHc)" >> $(VARFILE) echo "XMLDocWays = $(XMLDocWays)" >> $(VARFILE) # We won't actually use xsltproc, but we need to know if it's "" or not @@ -474,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 @@ -538,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 \ @@ -564,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