X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdriver%2FMakefile;h=f6a555d1153b49762db509b21cb4061e0f5100df;hb=8b2dda501ed0bbf61d2ac31fbc4e0cfa6cc3aa31;hp=c9d19f6082adcd17e4c72ccf0be6370ac00548c9;hpb=df8e2ee0f8dc67c4bc995c697c747634f795dc1b;p=ghc-hetmet.git diff --git a/ghc/driver/Makefile b/ghc/driver/Makefile index c9d19f6..f6a555d 100644 --- a/ghc/driver/Makefile +++ b/ghc/driver/Makefile @@ -1,5 +1,5 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.51 2001/02/11 16:32:48 simonmar Exp $ +# $Id: Makefile,v 1.61 2001/04/03 13:18:35 sewardj Exp $ # TOP=.. @@ -9,10 +9,24 @@ include $(TOP)/mk/boilerplate.mk # hack for ghci-inplace script, see below INSTALLING=1 -ifeq "$(GhcWithHscBuiltViaC)" "YES" -HC=$(GHC_INPLACE) +ifeq "$(INSTALLING)" "1" +SUBDIRS = mangler split ghc ghci endif +# ----------------------------------------------------------------------------- +# package configuration files... + +PKGCONF_OPTS = "$(TARGETPLATFORM)" \ + "$(CURRENT_DIR)" \ + "$(HaveLibGmp)" \ + "$(LibsReadline)" \ + "$(libdir)" \ + "$(GHC_LIB_DIR)" \ + "$(GHC_RUNTIME_DIR)" \ + "$(GHC_UTILS_DIR)" \ + "$(GHC_INCLUDE_DIR)" \ + "$(FPTOOLS_TOP_ABS)" + ghc_407_at_least = $(shell expr "$(GhcMinVersion)" \>= 7) ifeq "$(ghc_407_at_least)" "1" ifneq "$(mingw32_TARGET_OS)" "1" @@ -24,98 +38,29 @@ else SRC_HC_OPTS += -fglasgow-exts -cpp -syslib concurrent -syslib posix -syslib misc endif -ifeq "$(INSTALLING)" "1" -SUBDIRS = mangler split -endif - -# ----------------------------------------------------------------------------- -# Create compiler configuration - -CURRENT_DIR=ghc/compiler -CONFIG_HS = Config.hs -boot :: $(CONFIG_HS) - -$(CONFIG_HS) : $(FPTOOLS_TOP)/mk/config.mk Makefile - @$(RM) -f $(CONFIG_HS) - @echo -n "Creating $(CONFIG_HS) ... " - @echo "module Config where" >>$(CONFIG_HS) - @echo "cTARGETPLATFORM = \"$(TARGETPLATFORM)\"" >> $(CONFIG_HS) - @echo "cCURRENT_DIR = \"$(CURRENT_DIR)\"" >> $(CONFIG_HS) - @echo "cHaveLibGmp = \"$(HaveLibGmp)\"" >> $(CONFIG_HS) - @echo "cLibsReadline = \"$(LibsReadline)\"" >> Config.hs - @echo "clibdir = \"$(libdir)\"" >> $(CONFIG_HS) - @echo "cGHC_LIB_DIR = \"$(GHC_LIB_DIR)\"" >> $(CONFIG_HS) - @echo "cGHC_RUNTIME_DIR = \"$(GHC_RUNTIME_DIR)\"" >> $(CONFIG_HS) - @echo "cGHC_UTILS_DIR = \"$(GHC_UTILS_DIR)\"" >> $(CONFIG_HS) - @echo "cGHC_INCLUDE_DIR = \"$(GHC_INCLUDE_DIR)\"" >> $(CONFIG_HS) - @echo "cFPTOOLS_TOP_ABS = \"$(FPTOOLS_TOP_ABS)\"" >> $(CONFIG_HS) - @echo done. - -CLEAN_FILES += $(CONFIG_HS) - -# ----------------------------------------------------------------------------- -# package configuration files... +SRC_HC_OPTS += -DWANT_PRETTY all :: package.conf package.conf.inplace -pkgconf : Config.o Package.o PackageSrc.o Utils.o - $(HC) $(HC_OPTS) $(LD_OPTS) Config.o Package.o PackageSrc.o Utils.o -o pkgconf +HS_OBJS = Package.o PackageSrc.o Utils.o +HS_PROG = pkgconf -package.conf.inplace : pkgconf - ./pkgconf in-place >$@ +package.conf.inplace : $(HS_PROG) + ./$(HS_PROG) in-place $(PKGCONF_OPTS) >$@ package.conf : pkgconf - ./pkgconf install >$@ + ./$(HS_PROG) install $(PKGCONF_OPTS) >$@ -INSTALL_DATAS += package.conf +Package.o : ../utils/ghc-pkg/Package.hs -CLEAN_FILES += pkgconf package.conf.inplace package.conf - -# ----------------------------------------------------------------------------- -# ghci script +override datadir = $(libdir) +INSTALL_DATAS += package.conf ghc-usage.txt -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 - -ifeq "$(INSTALLING)" "1" -TOP_PWD := $(prefix) -SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG) -SCRIPT_LINK = ghci -else -TOP_PWD := $(FPTOOLS_TOP_ABS) -SCRIPT_PROG = $(INPLACE_SCRIPT_PROG) +ifeq "$(BIN_DIST)" "1" +INSTALL_PROGS += pkgconf endif -SCRIPT_OBJS=ghci.sh - -INTERP=$(SHELL) - -SCRIPT_SUBST_VARS = GHCBIN - -INSTALL_SCRIPTS += $(SCRIPT_PROG) - -# 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 +CLEAN_FILES += pkgconf package.conf.inplace package.conf # -----------------------------------------------------------------------------