X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdriver%2FMakefile;h=3a87ab43c504f2d30569176e29305e17e092e069;hb=7f24ae51ed36c5c0308a2d0de23e243f32a0043c;hp=d57ff6945f53a0e793ee8c0cc1a8697e452a926a;hpb=738d6d2c589df091786be8e71300de437c71df72;p=ghc-hetmet.git diff --git a/ghc/driver/Makefile b/ghc/driver/Makefile index d57ff69..3a87ab4 100644 --- a/ghc/driver/Makefile +++ b/ghc/driver/Makefile @@ -1,119 +1,28 @@ -#----------------------------------------------------------------------------- -# $Id: Makefile,v 1.55 2001/03/15 15:54:35 simonmar Exp $ +# -----------------------------------------------------------------------------= +# $Id: Makefile,v 1.76 2005/03/02 09:49:11 simonmar Exp $ +# +# (c) The University of Glasgow 2002 # TOP=.. -CURRENT_DIR=ghc/driver include $(TOP)/mk/boilerplate.mk -# hack for ghci-inplace script, see below -INSTALLING=1 - -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... - -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 - $(HC) $(HC_OPTS) $(LD_OPTS) Config.o Package.o PackageSrc.o Utils.o -o pkgconf +SUBDIRS = mangler split ghc ghci -package.conf.inplace : pkgconf - ./pkgconf in-place >$@ +boot all :: package.conf.inplace package.conf -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) - -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 +package.conf.inplace : + echo "[]" > $@ -# ----------------------------------------------------------------------------- -# installation... +package.conf : + echo "[]" > $@ -override datadir=$(libdir) -INSTALL_DATAS += ghc-usage.txt +override datadir = $(libdir) +INSTALL_DATAS += package.conf ghc-usage.txt ghci-usage.txt -# ----------------------------------------------------------------------------- +# Since cleaning effectively uninstalls all the packages, we must +# remove the stamp files that the build system uses to avoid unnecessarily +# re-installing packages. +CLEAN_FILES += package.conf* stamp-pkg-conf* include $(TOP)/mk/target.mk