#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.3 1997/03/14 07:53:55 simonpj Exp $
+# $Id: Makefile,v 1.18 2001/07/13 13:55:19 rrt Exp $
#
TOP=.
include $(TOP)/mk/boilerplate.mk
-line = @echo "------------------------------------------------------------------------------"
-
#
# subdir dependencies:
# everything needs utils
# RTS and compiler need includes
#
-boot ::
- $(line)
- @echo "Booting Utils"
- $(line)
- @$(MAKE) -C utils boot depend
-
- $(line)
- @echo "Booting Driver"
- $(line)
- @$(MAKE) -C driver boot depend
-
- $(line)
- @echo "Booting Includes"
- $(line)
- @$(MAKE) -C includes boot depend
-
- $(line)
- @echo "Booting Runtime System"
- $(line)
- @$(MAKE) -C runtime boot depend
-
- $(line)
- @echo "Booting Docs"
- $(line)
- @$(MAKE) -C docs boot
-
- $(line)
- @echo "Booting Compiler"
- $(line)
- @$(MAKE) -C compiler boot
-
- $(line)
- @echo "Booting Prelude libraries"
- $(line)
- @$(MAKE) -C compiler boot
-
-
-# "CONTRIB" is also a SUBDIR, but there is nothing to build there.
-#
-# leave out docs for the moment -- SOF
#
-# Order is important! driver/ has to come before includes/ which
-# again has to come before the rest.
+# Order is important! It's e.g. necessary to descend into include/
+# before the rest to have a config.h, etc.
#
# If we're booting from .hc files, swap the order
-# we descend into compiler/ and lib/
+# we descend into compiler/ and lib/.
#
-ifeq "$(GhcWithHscBuiltViaC)" "NO"
-SUBDIRS = utils driver includes runtime compiler lib
+ifeq "$(BootingFromHc)" "YES"
+SUBDIRS = includes utils rts docs lib compiler driver
else
-SUBDIRS = utils driver includes runtime lib compiler
+ifneq "$(ILXized)" "YES"
+SUBDIRS = includes utils driver docs compiler rts lib
+else
+# No RTS for ILX
+SUBDIRS = includes utils driver docs compiler lib
+endif
+endif
+
+# Easier to copy
+ifeq "$(BIN_DIST)" "1"
+SUBDIRS := $(filter-out docs,$(SUBDIRS))
endif
+ifeq ($(IncludeTestDirsInBuild),YES)
+SUBDIRS += tests
+endif
+
+SRC_DIST_FILES += configure
+
+DIST_CLEAN_FILES += ghc.spec config.status
+
include $(TOP)/mk/target.mk