[project @ 2001-11-09 21:25:56 by sof]
[ghc-hetmet.git] / ghc / driver / Makefile
1 #-----------------------------------------------------------------------------
2 #
3
4 TOP=..
5 CURRENT_DIR=ghc/driver
6 include $(TOP)/mk/boilerplate.mk
7
8 # hack for ghci-inplace script, see below
9 INSTALLING=1
10
11 ifeq "$(INSTALLING)" "1"        
12 SUBDIRS = mangler split ghc ghci
13 endif
14
15 # -----------------------------------------------------------------------------
16 # package configuration files...
17
18 PKGCONF_OPTS = "$(TARGETPLATFORM)"              \
19                "$(CURRENT_DIR)"                 \
20                "$(HaveLibGmp)"                  \
21                "$(LibsReadline)"                \
22                "$(GHC_LIB_DIR)"                 \
23                "$(GHC_RUNTIME_DIR)"             \
24                "$(GHC_UTILS_DIR)"               \
25                "$(GHC_INCLUDE_DIR)"
26
27 SRC_HC_OPTS += -fglasgow-exts -cpp 
28
29 ghc_407_at_least = $(shell if (test $(GhcCanonVersion) -ge 407); then echo YES; else echo NO; fi)
30
31 ifeq "$(ghc_407_at_least)" "YES"
32 SRC_HC_OPTS += -package concurrent -package text
33 ifneq "$(mingw32_TARGET_OS)" "1"
34 SRC_HC_OPTS += -package posix
35 endif
36 else
37 SRC_HC_OPTS += -syslib concurrent -syslib posix -syslib misc
38 endif
39
40 SRC_HC_OPTS += -DWANT_PRETTY
41 SRC_HC_OPTS += $(filter -D% -U%,$(GhcRtsCcOpts))
42
43 all :: package.conf package.conf.inplace
44
45 HS_OBJS = Package.o PackageSrc.o Utils.o
46 HS_PROG = pkgconf
47
48 package.conf.inplace : $(HS_PROG)
49         ./$(HS_PROG) in-place $(PKGCONF_OPTS) >$@
50
51 package.conf : pkgconf
52         ./$(HS_PROG) install $(PKGCONF_OPTS) >$@
53
54 Package.o : ../utils/ghc-pkg/Package.hs
55
56 override datadir = $(libdir)
57 INSTALL_DATAS += package.conf ghc-usage.txt
58
59 CLEAN_FILES += Main.hi pkgconf package.conf.inplace package.conf
60
61 # -----------------------------------------------------------------------------
62
63 include $(TOP)/mk/target.mk