Make installation on *nix work for paths with spaces in their name
[ghc-hetmet.git] / driver / ghci / ghc.mk
1 # -----------------------------------------------------------------------------
2 #
3 # (c) 2009 The University of Glasgow
4 #
5 # This file is part of the GHC build system.
6 #
7 # To understand how the build system works and how to modify it, see
8 #      http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture
9 #      http://hackage.haskell.org/trac/ghc/wiki/Building/Modifying
10 #
11 # -----------------------------------------------------------------------------
12
13 ifneq "$(Windows)" "YES"
14
15 install: install_driver_ghci
16
17 .PHONY: install_driver_ghci
18 install_driver_ghci: WRAPPER=$(DESTDIR)$(bindir)/ghci-$(ProjectVersion)
19 install_driver_ghci:
20         $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
21         "$(RM)" $(RM_OPTS)                                 "$(WRAPPER)"
22         $(CREATE_SCRIPT)                                   "$(WRAPPER)"
23         echo '#!$(SHELL)'                               >> "$(WRAPPER)"
24         echo 'exec "$(bindir)/ghc-$(ProjectVersion)" --interactive $${1+"$$@"}' >> "$(WRAPPER)"
25         $(EXECUTABLE_FILE)                                 "$(WRAPPER)"
26         "$(RM)" $(RM_OPTS) "$(DESTDIR)$(bindir)/ghci"
27         $(LN_S) ghci-$(ProjectVersion) "$(DESTDIR)$(bindir)/ghci"
28
29 else # Windows...
30
31 driver/ghci_dist_C_SRCS  = ghci.c
32 driver/ghci_dist_PROG    = ghci$(exeext)
33 driver/ghci_dist_INSTALL = YES
34 driver/ghci_dist_OTHER_OBJS = driver/ghci/ghci.res
35
36 $(eval $(call build-prog,driver/ghci,dist,0))
37
38 driver/ghci_dist_PROG_VER = ghci-$(ProjectVersion)$(exeext)
39
40 INSTALL_BINS += driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG_VER)
41
42 driver/ghci/ghci.res : driver/ghci/ghci.rc driver/ghci/ghci.ico
43         windres --preprocessor="$(CPP) -xc -DRC_INVOKED" -o driver/ghci/ghci.res -i driver/ghci/ghci.rc -O coff
44
45 driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG_VER) : driver/ghci/dist/build/tmp/$(driver/ghci_dist_PROG)
46         "$(CP)" $< $@
47
48 install : install_driver_ghcii
49
50 .PHONY: install_driver_ghcii
51 install_driver_ghcii: GHCII_SCRIPT=$(DESTDIR)$(bindir)/ghcii.sh
52 install_driver_ghcii: GHCII_SCRIPT_VERSIONED = $(DESTDIR)$(bindir)/ghcii-$(ProjectVersion).sh
53 install_driver_ghcii:
54         $(INSTALL_DIR) $(DESTDIR)$(bindir)
55         "$(RM)" $(RM_OPTS) $(GHCII_SCRIPT)
56         echo "#!$(SHELL)"                                  >> $(GHCII_SCRIPT)
57         echo 'exec "$$0"/../ghc --interactive $${1+"$$@"}' >> $(GHCII_SCRIPT)
58         $(EXECUTABLE_FILE) $(GHCII_SCRIPT)
59         cp $(GHCII_SCRIPT) $(GHCII_SCRIPT_VERSIONED)
60         $(EXECUTABLE_FILE) $(GHCII_SCRIPT_VERSIONED)
61
62 endif
63