[project @ 2000-12-11 16:15:03 by simonmar]
[ghc-hetmet.git] / ghc / driver / Makefile
1 #-----------------------------------------------------------------------------
2 # $Id: Makefile,v 1.49 2000/12/11 16:15:03 simonmar Exp $
3 #
4
5 TOP=..
6 CURRENT_DIR=ghc/driver
7 include $(TOP)/mk/boilerplate.mk
8
9 ifeq "$(GhcWithHscBuiltViaC)" "YES"
10 HC=$(GHC_INPLACE)
11 endif
12
13 ghc_407_at_least = $(shell expr "$(GhcMinVersion)" \>= 7)
14 ifeq "$(ghc_407_at_least)" "1"
15 ifneq "$(mingw32_TARGET_OS)" "1"
16 SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package posix -package text
17 else
18 SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package text
19 endif
20 else
21 SRC_HC_OPTS += -fglasgow-exts -cpp -syslib concurrent -syslib posix -syslib misc
22 endif
23
24 SUBDIRS = mangler split stats
25
26 # -----------------------------------------------------------------------------
27 # Create compiler configuration
28
29 CURRENT_DIR=ghc/compiler
30 CONFIG_HS = Config.hs
31 boot :: $(CONFIG_HS)
32
33 $(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile
34         @$(RM) -f $(CONFIG_HS)
35         @echo -n "Creating $(CONFIG_HS) ... "
36         @echo "module Config where" >>$(CONFIG_HS)
37         @echo "cTARGETPLATFORM       = \"$(TARGETPLATFORM)\"" >> $(CONFIG_HS)
38         @echo "cCURRENT_DIR          = \"$(CURRENT_DIR)\"" >> $(CONFIG_HS)
39         @echo "cHaveLibGmp           = \"$(HaveLibGmp)\"" >> $(CONFIG_HS)
40         @echo "cLibsReadline         = \"$(LibsReadline)\"" >> Config.hs
41         @echo "clibdir               = \"$(libdir)\"" >> $(CONFIG_HS)
42         @echo "cGHC_LIB_DIR          = \"$(GHC_LIB_DIR)\"" >> $(CONFIG_HS)
43         @echo "cGHC_RUNTIME_DIR      = \"$(GHC_RUNTIME_DIR)\"" >> $(CONFIG_HS)
44         @echo "cGHC_UTILS_DIR        = \"$(GHC_UTILS_DIR)\"" >> $(CONFIG_HS)
45         @echo "cGHC_INCLUDE_DIR      = \"$(GHC_INCLUDE_DIR)\"" >> $(CONFIG_HS)
46         @echo "cFPTOOLS_TOP_ABS      = \"$(FPTOOLS_TOP_ABS)\"" >> $(CONFIG_HS)
47         @echo done.
48
49 CLEAN_FILES += $(CONFIG_HS)
50
51 # -----------------------------------------------------------------------------
52 # package configuration files...
53
54 all :: package.conf package.conf.inplace
55
56 pkgconf : Config.o Package.o PackageSrc.o Utils.o
57         $(HC) $(HC_OPTS) $(LD_OPTS) Config.o Package.o PackageSrc.o Utils.o -o pkgconf
58
59 package.conf.inplace : pkgconf
60         ./pkgconf in-place >$@
61
62 package.conf : pkgconf
63         ./pkgconf install >$@
64
65 INSTALL_DATAS += package.conf
66
67 CLEAN_FILES += pkgconf package.conf.inplace package.conf
68
69 # -----------------------------------------------------------------------------
70 # installation...
71
72 override datadir=$(libdir)
73 INSTALL_DATAS += ghc-usage.txt
74
75 # -----------------------------------------------------------------------------
76
77 include $(TOP)/mk/target.mk