#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.4 1997/03/17 20:34:29 simonpj Exp $
+# $Id: Makefile,v 1.30 2005/03/02 14:35:05 simonmar Exp $
#
TOP=.
include $(TOP)/mk/boilerplate.mk
-line = @echo "------------------------------------------------------------------------------"
-
#
# subdir dependencies:
# everything needs utils
+# utils needs lib
# includes/ needs driver (to easily c.pile mkNativeGen.c)
# make depend except in {utils,driver} needs includes
# 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
+#
+# 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 subdirs - to boot utils must be before driver.
+#
+ifeq "$(BootingFromHc)" "YES"
+SUBDIRS = includes rts docs compiler lib utils driver
+else
+ifneq "$(ILXized)" "YES"
+SUBDIRS = includes lib utils driver docs compiler rts
+else
+# No RTS for ILX
+SUBDIRS = includes lib utils driver docs compiler
+endif
+endif
- $(line)
- @echo "Booting Runtime System"
- $(line)
- @$(MAKE) -C runtime boot depend
+ifeq ($(IncludeTestDirsInBuild),YES)
+SUBDIRS += tests
+endif
- $(line)
- @echo "Booting Docs"
- $(line)
- @$(MAKE) -C docs boot
+SRC_DIST_FILES += configure
- $(line)
- @echo "Booting Compiler"
- $(line)
- @$(MAKE) -C compiler boot
+# Clean everything created by configure:
+DIST_CLEAN_FILES += VERSION config.cache config.status ghc.spec \
+ docs/users_guide/ug-book.xml
- $(line)
- @echo "Booting Prelude libraries"
- $(line)
- @$(MAKE) -C lib boot
+# don't clean version.mk: it's needed when cleaning stuff later on
+LATE_DIST_CLEAN_FILES += mk/config.mk
+extraclean::
+ $(RM) -rf autom4te.cache
-# "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.
-#
-# If we're booting from .hc files, swap the order
-# we descend into compiler/ and lib/
-#
-ifeq "$(GhcWithHscBuiltViaC)" "NO"
-SUBDIRS = utils driver includes runtime compiler lib
-else
-SUBDIRS = utils driver includes runtime lib compiler
+ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
+# These files need to be in the InstallShield
+# INSTALL_DATAS rather than INSTALL_DOCS is used so these files go
+# in the top-level directory of the distribution
+INSTALL_DATAS += ANNOUNCE LICENSE README VERSION
endif
include $(TOP)/mk/target.mk