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
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)
+ chmod +x $(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 'exec $(bindir)/ghc-$(ProjectVersion) --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_GHC = $(FPTOOLS_TOP_ABS)/ghc/stage2-inplace/ghc
+CLEAN_FILES += $(INPLACE_SCRIPT)
+all::
+ $(RM) -f $(INPLACE_SCRIPT)
+ echo "#!$(SHELL)" >> $(INPLACE_SCRIPT)
+ echo "exec $(INPLACE_GHC) --interactive $${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
+include $(TOP)/mk/bindist.mk
+
include $(TOP)/mk/target.mk