#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.2 1996/11/21 16:47:27 simonm Exp $
+# $Id: Makefile,v 1.65 2001/06/12 17:08:11 simonmar Exp $
+#
-TOP=../..
+TOP=..
CURRENT_DIR=ghc/driver
-UnlitSuffixRules = YES
-include $(TOP)/ghc/mk/ghc.mk
+include $(TOP)/mk/boilerplate.mk
-DYN_LOADABLE_BITS = \
- ghc-asm.prl \
- ghc-recomp.prl \
- ghc-iface.prl \
- ghc-consist.prl \
- ghc-split.prl
+# hack for ghci-inplace script, see below
+INSTALLING=1
-PROG = ghc
-SRC = ghc.prl
-INTERP = $(PERL)
-DESTDIR = $(INSTBINDIR_GHC)
-INSTALLED_NAME = $(GHC_DRIVER_INST_NAME)
+ifeq "$(INSTALLING)" "1"
+SUBDIRS = mangler split ghc ghci
+endif
-all :: $(DYN_LOADABLE_BITS)
+# -----------------------------------------------------------------------------
+# package configuration files...
-install :: $(DYN_LOADABLE_BITS)
- $(INSTALL) $(INSTDATAFLAGS) $(DYN_LOADABLE_BITS) $(INSTLIBDIR_GHC)
+PKGCONF_OPTS = "$(TARGETPLATFORM)" \
+ "$(CURRENT_DIR)" \
+ "$(HaveLibGmp)" \
+ "$(LibsReadline)" \
+ "$(GHC_LIB_DIR)" \
+ "$(GHC_RUNTIME_DIR)" \
+ "$(GHC_UTILS_DIR)" \
+ "$(GHC_INCLUDE_DIR)"
-clean::
- $(RM) ghc.prl
- $(RM) $(DYN_LOADABLE_BITS)
+ghc_407_at_least = $(shell expr "$(GhcVersion)" \>= 4.07)
+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
-# DYN_LOADABLE_LPRLS = $(DYN_LOADABLE_BITS:.prl=.lprl)
-# PerlTagsTarget( ghc.lprl $(DYN_LOADABLE_LPRLS) )
+SRC_HC_OPTS += -DWANT_PRETTY
-include $(TOP)/mk/script.mk
+all :: package.conf package.conf.inplace
+
+HS_OBJS = Package.o PackageSrc.o Utils.o
+HS_PROG = pkgconf
+
+package.conf.inplace : $(HS_PROG)
+ ./$(HS_PROG) in-place $(PKGCONF_OPTS) >$@
+
+package.conf : pkgconf
+ ./$(HS_PROG) install $(PKGCONF_OPTS) >$@
+
+Package.o : ../utils/ghc-pkg/Package.hs
+
+override datadir = $(libdir)
+INSTALL_DATAS += package.conf ghc-usage.txt
+
+CLEAN_FILES += Main.hi pkgconf package.conf.inplace package.conf
+
+# -----------------------------------------------------------------------------
+
+include $(TOP)/mk/target.mk