Install perl on Windows
[ghc-hetmet.git] / mk / tree.mk
1
2 ifneq "$(findstring 3.7, $(MAKE_VERSION))" ""
3 ifeq "$(findstring 3.79.1, $(MAKE_VERSION))" ""
4 $(error GNU make version 3.79.1 or later is required.)
5 endif
6 endif
7
8 ################################################################################
9 #
10 #       Layout of the source tree
11 #
12 ################################################################################
13
14 # Here we provide defines for the various directories in the source tree,
15 # so we can move things around more easily.  A define $(GHC_FOO_DIR)
16 # indicates a directory relative to the top of the source tree.
17
18 GHC_UTILS_DIR           = utils
19 GHC_INCLUDE_DIR         = includes
20 GHC_COMPILER_DIR        = compiler
21 GHC_PROG_DIR            = ghc
22 GHC_RTS_DIR             = rts
23 GHC_DRIVER_DIR          = driver
24 GHC_COMPAT_DIR          = compat
25
26 GHC_MKDEPENDC_DIR       = $(GHC_UTILS_DIR)/mkdependC
27 GHC_LTX_DIR             = $(GHC_UTILS_DIR)/ltx
28 GHC_LNDIR_DIR           = $(GHC_UTILS_DIR)/lndir
29 GHC_MKDIRHIER_DIR       = $(GHC_UTILS_DIR)/mkdirhier
30 GHC_DOCBOOK_DIR         = $(GHC_UTILS_DIR)/docbook
31 GHC_UNLIT_DIR           = $(GHC_UTILS_DIR)/unlit
32 GHC_HP2PS_DIR           = $(GHC_UTILS_DIR)/hp2ps
33 GHC_GHCTAGS_DIR         = $(GHC_UTILS_DIR)/ghctags
34 GHC_HSC2HS_DIR          = $(GHC_UTILS_DIR)/hsc2hs
35 GHC_TOUCHY_DIR          = $(GHC_UTILS_DIR)/touchy
36 GHC_PKG_DIR             = $(GHC_UTILS_DIR)/ghc-pkg
37 GHC_GENPRIMOP_DIR       = $(GHC_UTILS_DIR)/genprimopcode
38 GHC_GENAPPLY_DIR        = $(GHC_UTILS_DIR)/genapply
39 GHC_CABAL_DIR           = $(GHC_UTILS_DIR)/ghc-cabal
40 GHC_MANGLER_DIR         = $(GHC_DRIVER_DIR)/mangler
41 GHC_SPLIT_DIR           = $(GHC_DRIVER_DIR)/split
42 GHC_SYSMAN_DIR          = $(GHC_RTS_DIR)/parallel
43
44 INPLACE                 = inplace
45 INPLACE_BIN             = $(INPLACE)/bin
46 INPLACE_LIB             = $(INPLACE)/lib
47 INPLACE_TOPDIR          = $(INPLACE)/lib
48 INPLACE_MINGW           = $(INPLACE)/mingw
49 INPLACE_PERL            = $(INPLACE)/perl
50
51 # These are here, rather than in config.mk, as they need to exist in an
52 # unconfigured tree so that the various clean targets can be used
53 # without configuring:
54 RM = rm
55 RM_OPTS = -f
56