Get building GHC itself with Cabal more-or-less working
[ghc-hetmet.git] / Makefile
index f65f2bd..f5b1706 100644 (file)
--- 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 = includes rts compat compiler docs utils driver
+SUBDIRS_BUILD = includes rts compiler ghc docs utils driver
 else
-SUBDIRS_BUILD = includes compat utils driver docs compiler rts libraries/Cabal/doc
+SUBDIRS_BUILD = includes utils driver docs compiler ghc rts 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,7 +108,7 @@ 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
@@ -128,12 +139,13 @@ 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
+stage2 : check-all
        $(MAKE) -C compiler boot stage=2
        $(MAKE) -C compiler stage=2
+       $(MAKE) -C ghc      stage=2
 
 
-stage3 : check-packages
+stage3 : check-all
        $(MAKE) -C compiler boot stage=3
        $(MAKE) -C compiler stage=3
 
@@ -312,7 +324,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/
@@ -533,7 +544,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 \