X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=driver%2Fghci%2FMakefile;h=8a282af41686254331fe159a758691fab43c620f;hp=7c67ac546c08c80dfc63ca5e86000b2b7b763710;hb=c004ec62b41aa2137b5b5e298ca562609b0de92e;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1 diff --git a/driver/ghci/Makefile b/driver/ghci/Makefile index 7c67ac5..8a282af 100644 --- a/driver/ghci/Makefile +++ b/driver/ghci/Makefile @@ -5,28 +5,9 @@ TOP=../.. include $(TOP)/mk/boilerplate.mk -# hack for ghci-inplace script, see below -INSTALLING=1 - # ----------------------------------------------------------------------------- # ghci script -ifeq "$(INSTALLING)" "1" -ifeq "$(BIN_DIST)" "1" -GHCBIN=$$\"\"libexecdir/ghc-$(ProjectVersion) -GHCLIB=$$\"\"libdir -else -GHCBIN=$(libexecdir)/ghc-$(ProjectVersion) -GHCLIB=$(libdir) -endif # BIN_DIST -else -GHCBIN=$(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL)/ghc-$(ProjectVersion) -GHCLIB=$(FPTOOLS_TOP_ABS) -endif - -INSTALLED_SCRIPT_PROG = ghci-$(ProjectVersion) -INPLACE_SCRIPT_PROG = ghci-inplace - ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" C_PROG = ghci C_OBJS += ghci.res @@ -34,36 +15,45 @@ else C_SRCS= endif -SCRIPT_OBJS = ghci.sh -INTERP = $(SHELL) -SCRIPT_SUBST_VARS = GHCBIN TOPDIROPT -ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -INSTALL_SCRIPTS += $(SCRIPT_PROG) -else -INSTALL_SCRIPTS += ghcii.sh +ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" INSTALL_PROGS += $(C_PROG) -endif -TOPDIROPT = -B$(GHCLIB) - -ifeq "$(INSTALLING)" "1" -SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG) -ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -LINK = ghci -endif +GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh +install:: + $(RM) -f $(GHCII_SCRIPT) + echo "#!$(SHELL)" >> $(GHCII_SCRIPT) + echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT) else -SCRIPT_PROG = $(INPLACE_SCRIPT_PROG) +LINK = ghci +LINK_TARGET = $(LINK)-$(ProjectVersion) +INSTALLED_SCRIPT=$(DESTDIR)$(bindir)/$(LINK_TARGET) +install:: + $(RM) -f $(INSTALLED_SCRIPT) + echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT) + echo "GHCBIN=$(libexecdir)/ghc-$(ProjectVersion)" >> $(INSTALLED_SCRIPT) + echo "TOPDIROPT=-B$(libdir)" >> $(INSTALLED_SCRIPT) + echo 'exec $$GHCBIN $$TOPDIROPT --interactive $${1+"$$@"}' >> $(INSTALLED_SCRIPT) + $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT) endif -# don't recurse on 'make install' -# -ifeq "$(INSTALLING)" "1" -all clean distclean maintainer-clean :: - $(MAKE) INSTALLING=0 BIN_DIST=0 $(MFLAGS) $@ +ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" +INPLACE_SCRIPT=ghci-inplace +CLEAN_FILES += $(INPLACE_SCRIPT) +all:: + $(RM) -f $(INPLACE_SCRIPT) + echo "#!$(SHELL)" >> $(INPLACE_SCRIPT) + echo "GHCBIN=$(FPTOOLS_TOP_ABS)/$(GHC_COMPILER_DIR_REL)/ghc-$(ProjectVersion)" >> $(INPLACE_SCRIPT) + echo "TOPDIROPT=$(FPTOOLS_TOP_ABS)" >> $(INPLACE_SCRIPT) + echo 'exec $$GHCPKGBIN --global-conf $$PKGCONF $${1+"$$@"}' >> $(INPLACE_SCRIPT) + $(EXECUTABLE_FILE) $(INPLACE_SCRIPT) endif ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" ghci.res : ghci.rc ghci.ico - windres -o ghci.res -i ghci.rc -O coff + windres --preprocessor="$(CPP) -xc -DRC_INVOKED" -o ghci.res -i ghci.rc -O coff endif +binary-dist: + $(INSTALL_DIR) $(BIN_DIST_DIR)/driver/ghci + $(INSTALL_DATA) Makefile $(BIN_DIST_DIR)/driver/ghci/ + include $(TOP)/mk/target.mk