Reorganisation of the source tree
[ghc-hetmet.git] / ghc / Makefile
index 1386d2c..cacc3f7 100644 (file)
@@ -1,5 +1,5 @@
 #-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.7 1997/03/24 08:39:19 sof Exp $
+# $Id: Makefile,v 1.30 2005/03/02 14:35:05 simonmar Exp $
 #
 
 TOP=.
@@ -8,27 +8,47 @@ include $(TOP)/mk/boilerplate.mk
 #
 # 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
 #
 
 #
-# 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 subdirs - to boot utils must be before driver.
 #
-ifeq "$(GhcWithHscBuiltViaC)" "NO"
-SUBDIRS = utils driver includes runtime docs compiler lib
+ifeq "$(BootingFromHc)" "YES"
+SUBDIRS = includes rts docs compiler lib utils driver
 else
-SUBDIRS = utils driver includes runtime docs lib compiler
+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
 
-# Easier to copy
-ifeq "$(BIN_DIST)" "1"
-SUBDIRS := $(filter-out docs,$(SUBDIRS))
+SRC_DIST_FILES += configure
+
+# Clean everything created by configure:
+DIST_CLEAN_FILES += VERSION config.cache config.status ghc.spec \
+       docs/users_guide/ug-book.xml
+
+# 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
+
+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