X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=Makefile;h=edad014a9d58094f0c1ca8bc101d8ec83254c573;hp=9fc22c9421fa83a6df9570e40e9e04066cae98a3;hb=aee5e5a8a4305ff1f9fe78b00d00ca3b1cffa353;hpb=acc2bdc717b4b24ec5b26a85cf3256a36a42d08b diff --git a/Makefile b/Makefile index 9fc22c9..edad014 100644 --- a/Makefile +++ b/Makefile @@ -67,20 +67,31 @@ include $(TOP)/mk/boilerplate.mk # We can't 'make boot' in libraries until stage1 is built ifeq "$(BootingFromHc)" "YES" -SUBDIRS_BUILD = libffi includes rts compat compiler docs utils driver +SUBDIRS_BUILD = includes compiler docs utils driver else -SUBDIRS_BUILD = 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. check-packages : - @ds=`cat libraries/boot-packages`;\ + @ds=`grep "^[^# ][^ ]* *[^ ][^ ]*$$" packages | sed "s/ .*//"`;\ for d in $$ds; do \ - if test ! -d libraries/$$d; then \ - echo "Looks like you're missing libraries/$$d,"; \ + if test ! -d $$d; then \ + echo "Looks like you're missing $$d,"; \ echo "maybe you haven't done './darcs-all get'?"; \ exit 1; \ fi \ @@ -97,10 +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 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 "------------------------------------------------------------------------"; \ @@ -118,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 @@ -127,14 +145,20 @@ 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 +ifeq "$(HADDOCK_DOCS)" "YES" + $(MAKE) -C compiler stage=2 doc +endif + $(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 @@ -155,13 +179,13 @@ all :: stamp.inplace-gcc-lib # tree somewhere, and then have install copy it from there rather than # from the filesystem. stamp.inplace-gcc-lib: - $(RM) -r compiler/gcc-lib - mkdir compiler/gcc-lib - cp $(LD) compiler/gcc-lib + $(RM) -r ghc/gcc-lib + mkdir ghc/gcc-lib + cp $(LD) ghc/gcc-lib touch $@ clean :: - $(RM) -r compiler/gcc-lib + $(RM) -r ghc/gcc-lib $(RM) -f inplace-gcc-lib endif endif @@ -311,7 +335,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/ @@ -532,7 +555,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 \