#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.49 2000/12/11 16:15:03 simonmar Exp $
+# $Id: Makefile,v 1.56 2001/03/19 18:15:59 sewardj Exp $
#
TOP=..
CURRENT_DIR=ghc/driver
include $(TOP)/mk/boilerplate.mk
-ifeq "$(GhcWithHscBuiltViaC)" "YES"
-HC=$(GHC_INPLACE)
-endif
+# hack for ghci-inplace script, see below
+INSTALLING=1
-ghc_407_at_least = $(shell expr "$(GhcMinVersion)" \>= 7)
-ifeq "$(ghc_407_at_least)" "1"
-ifneq "$(mingw32_TARGET_OS)" "1"
-SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package posix -package text
-else
-SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package text
+ifeq "$(INSTALLING)" "1"
+SUBDIRS = mangler split
endif
-else
-SRC_HC_OPTS += -fglasgow-exts -cpp -syslib concurrent -syslib posix -syslib misc
-endif
-
-SUBDIRS = mangler split stats
# -----------------------------------------------------------------------------
# Create compiler configuration
# -----------------------------------------------------------------------------
# package configuration files...
+ghc_407_at_least = $(shell expr "$(GhcMinVersion)" \>= 7)
+ifeq "$(ghc_407_at_least)" "1"
+ifneq "$(mingw32_TARGET_OS)" "1"
+SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package posix -package text
+else
+SRC_HC_OPTS += -fglasgow-exts -cpp -package concurrent -package text
+endif
+else
+SRC_HC_OPTS += -fglasgow-exts -cpp -syslib concurrent -syslib posix -syslib misc
+endif
+
+SRC_HC_OPTS += -DWANT_PRETTY
+
all :: package.conf package.conf.inplace
pkgconf : Config.o Package.o PackageSrc.o Utils.o
package.conf : pkgconf
./pkgconf install >$@
+Package.o : ../utils/ghc-pkg/Package.hs
+
INSTALL_DATAS += package.conf
CLEAN_FILES += pkgconf package.conf.inplace package.conf
# -----------------------------------------------------------------------------
+# ghci script
+
+ifeq "$(INSTALLING)" "1"
+ifeq "$(BIN_DIST)" "1"
+GHCBIN=$$\"\"bindir/ghc
+else
+GHCBIN=$(bindir)/ghc
+endif # BIN_DIST
+else
+GHCBIN=$(FPTOOLS_TOP_ABS)/ghc/compiler/ghc
+endif
+
+INSTALLED_SCRIPT_PROG = ghci-$(ProjectVersion)
+INPLACE_SCRIPT_PROG = ghci-inplace
+
+SCRIPT_OBJS = ghci.sh
+INTERP = $(SHELL)
+SCRIPT_SUBST_VARS = GHCBIN TOPDIROPT
+INSTALL_SCRIPTS += $(SCRIPT_PROG) ghc5
+
+ifeq "$(INSTALLING)" "1"
+SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG)
+TOPDIROPT =
+LINK = ghci
+else
+TOPDIROPT = -B$(FPTOOLS_TOP_ABS)
+SCRIPT_PROG = $(INPLACE_SCRIPT_PROG)
+endif
+
+# don't recurse on 'make install'
+#
+ifeq "$(INSTALLING)" "1"
+all clean distclean maintainer-clean ::
+ $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@
+endif
+
+# -----------------------------------------------------------------------------
# installation...
override datadir=$(libdir)
INSTALL_DATAS += ghc-usage.txt
+ghc5 :
+ rm -f ghc5
+ echo "#!/bin/sh" > ghc5
+ echo "# You (the user) need to set GHC_TOPDIR to make it work!" >> ghc5
+ echo "GHC_TOPDIR=/path/to/root/of/ghc/installation/tree" >> ghc5
+ echo "GHC_PLATFORM=$(TARGETPLATFORM)" >> ghc5
+ cat ghc5.sh >> ghc5
+
+
+
# -----------------------------------------------------------------------------
include $(TOP)/mk/target.mk