[project @ 2005-03-02 14:09:26 by simonmar]
[ghc-hetmet.git] / ghc / Makefile
index 3876e1b..552d050 100644 (file)
@@ -1,71 +1,57 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.3 1997/03/14 07:53:55 simonpj Exp $
+# $Id: Makefile,v 1.29 2005/03/02 14:09:26 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 compiler boot
+LATE_DIST_CLEAN_FILES += mk/version.mk 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