X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=driver%2Fghci%2FMakefile;h=47f51b8c23763426e5197df9608c88a4e1bc38f3;hp=2b15d94ed5104b5db1654d2f96609edbf735541f;hb=16a061076237d4b6a02d9f10f69075b14e889a72;hpb=79b5a2cb4b9ed5fe41a05fa2ec98bd1f83971daf diff --git a/driver/ghci/Makefile b/driver/ghci/Makefile index 2b15d94..47f51b8 100644 --- a/driver/ghci/Makefile +++ b/driver/ghci/Makefile @@ -5,64 +5,59 @@ TOP=../.. include $(TOP)/mk/boilerplate.mk -# hack for ghci-inplace script, see below -INSTALLING=1 - # ----------------------------------------------------------------------------- # ghci script ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -C_PROG = ghci +C_PROG = ghci$(exeext) +C_PROG_VERSIONED = ghci-$(ProjectVersion)$(exeext) C_OBJS += ghci.res + +all :: $(C_PROG_VERSIONED) +$(C_PROG_VERSIONED) : $(C_PROG) + cp $< $@ else C_SRCS= endif ifeq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -INSTALL_PROGS += $(C_PROG) -GHCII_SCRIPT=$(bindir)/ghcii.sh +INSTALL_PROGS += $(C_PROG) $(C_PROG_VERSIONED) +GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh +GHCII_SCRIPT_VERSIONED = $(DESTDIR)$(bindir)/ghcii-$(ProjectVersion).sh install:: $(RM) -f $(GHCII_SCRIPT) - echo "#!$(SHELL)" >> $(GHCII_SCRIPT) - echo 'exec "$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT) + echo "#!$(SHELL)" >> $(GHCII_SCRIPT) + echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT) + chmod +x $(GHCII_SCRIPT) + cp $(GHCII_SCRIPT) $(GHCII_SCRIPT_VERSIONED) + chmod +x $(GHCII_SCRIPT_VERSIONED) else LINK = ghci LINK_TARGET = $(LINK)-$(ProjectVersion) -INSTALLED_SCRIPT=$(bindir)/$(LINK_TARGET) +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) + echo "#!$(SHELL)" >> $(INSTALLED_SCRIPT) + echo 'exec $(bindir)/ghc-$(ProjectVersion) --interactive $${1+"$$@"}' >> $(INSTALLED_SCRIPT) $(EXECUTABLE_FILE) $(INSTALLED_SCRIPT) endif ifneq "$(TARGETPLATFORM)" "i386-unknown-mingw32" -INPLACE_SCRIPT=ghc-pkg-inplace +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 "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) + echo "#!$(SHELL)" >> $(INPLACE_SCRIPT) + echo "exec $(INPLACE_GHC) --interactive $${1+"$$@"}" >> $(INPLACE_SCRIPT) $(EXECUTABLE_FILE) $(INPLACE_SCRIPT) endif -# don't recurse on 'make install' -# -ifeq "$(INSTALLING)" "1" -all clean distclean maintainer-clean :: - $(MAKE) INSTALLING=0 $(MFLAGS) $@ -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/bindist.mk include $(TOP)/mk/target.mk