Reorganisation of the source tree
[ghc.git] / ghc / Makefile
1 #-----------------------------------------------------------------------------
2 # $Id: Makefile,v 1.30 2005/03/02 14:35:05 simonmar Exp $
3 #
4
5 TOP=.
6 include $(TOP)/mk/boilerplate.mk
7
8 #
9 # subdir dependencies:
10 # everything needs utils
11 # utils needs lib
12 # includes/ needs driver (to easily c.pile mkNativeGen.c)
13 # make depend except in {utils,driver} needs includes
14 # RTS and compiler need includes
15 #
16
17 #
18 # Order is important! It's e.g. necessary to descend into include/
19 # before the rest to have a config.h, etc.
20 #
21 # If we're booting from .hc files, swap the order
22 # we descend into subdirs - to boot utils must be before driver.
23 #
24 ifeq "$(BootingFromHc)" "YES"
25 SUBDIRS = includes rts docs compiler lib utils driver
26 else
27 ifneq "$(ILXized)" "YES"
28 SUBDIRS = includes lib utils driver docs compiler rts
29 else
30 # No RTS for ILX
31 SUBDIRS = includes lib utils driver docs compiler
32 endif
33 endif
34
35 SRC_DIST_FILES += configure
36
37 # Clean everything created by configure:
38 DIST_CLEAN_FILES += VERSION config.cache config.status ghc.spec \
39 docs/users_guide/ug-book.xml
40
41 # don't clean version.mk: it's needed when cleaning stuff later on
42 LATE_DIST_CLEAN_FILES += mk/config.mk
43
44 extraclean::
45 $(RM) -rf autom4te.cache
46
47 ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32"
48 # These files need to be in the InstallShield
49 # INSTALL_DATAS rather than INSTALL_DOCS is used so these files go
50 # in the top-level directory of the distribution
51 INSTALL_DATAS += ANNOUNCE LICENSE README VERSION
52 endif
53
54 include $(TOP)/mk/target.mk