From 76c7c599020012d62dc52a4babcc503f56b64563 Mon Sep 17 00:00:00 2001 From: simonmar Date: Sun, 11 Feb 2001 17:01:46 +0000 Subject: [PATCH] [project @ 2001-02-11 17:01:46 by simonmar] Remove some duplicate Makefile gunk, and collect the symbolic link code together in mk/target.mk. --- ghc/compiler/Makefile | 31 +------------------ ghc/driver/Makefile | 4 +-- mk/target.mk | 81 +++++++++++++++++++++++++++++++------------------ 3 files changed, 54 insertions(+), 62 deletions(-) diff --git a/ghc/compiler/Makefile b/ghc/compiler/Makefile index 478c33c..e21bb33 100644 --- a/ghc/compiler/Makefile +++ b/ghc/compiler/Makefile @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: Makefile,v 1.133 2001/01/16 12:32:45 simonmar Exp $ +# $Id: Makefile,v 1.134 2001/02/11 17:01:46 simonmar Exp $ TOP = .. include $(TOP)/mk/boilerplate.mk @@ -362,35 +362,6 @@ ghc-inplace : ghc CLEAN_FILES += ghc-inplace -# ----------------------------------------------------------------------------- -# Create link to from ghc-x.xx to ghc... - -all :: $(LINK) - -$(LINK) : $(HS_PROG) - @if ( $(PERL) -e '$$fn="$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ - echo "Creating a symbolic link from $(HS_PROG) to $(LINK)"; \ - $(RM) $(LINK); \ - $(LN_S) $(HS_PROG) $(LINK); \ - else \ - echo "Creating a symbolic link from $(HS_PROG) to $(LINK) failed: \`$(LINK)' already exists"; \ - echo "Perhaps remove \`$(LINK)' manually?"; \ - exit 1; \ - fi; - -CLEAN_FILES += $(LINK) - -install :: - @if ( $(PERL) -e '$$fn="$(bindir)/$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ - echo "Creating a symbol link from $(HS_PROG) to $(LINK) in $(bindir)"; \ - $(RM) $(bindir)/$(LINK); \ - $(LN_S) $(HS_PROG) $(bindir)/$(LINK); \ - else \ - echo "Creating a symbol link from $(HS_PROG) to $(LINK) in $(bindir) failed: \`$(bindir)/$(LINK)' already exists"; \ - echo "Perhaps remove \`$(bindir)/$(LINK)' manually?"; \ - exit 1; \ - fi; - #----------------------------------------------------------------------------- # install diff --git a/ghc/driver/Makefile b/ghc/driver/Makefile index 890e7c7..9b6f969 100644 --- a/ghc/driver/Makefile +++ b/ghc/driver/Makefile @@ -1,5 +1,5 @@ #----------------------------------------------------------------------------- -# $Id: Makefile,v 1.52 2001/02/11 16:48:21 simonmar Exp $ +# $Id: Makefile,v 1.53 2001/02/11 17:01:46 simonmar Exp $ # TOP=.. @@ -94,7 +94,7 @@ INSTALL_SCRIPTS += $(SCRIPT_PROG) ifeq "$(INSTALLING)" "1" SCRIPT_PROG = $(INSTALLED_SCRIPT_PROG) -SCRIPT_LINK = ghci +LINK = ghci else SCRIPT_PROG = $(INPLACE_SCRIPT_PROG) endif diff --git a/mk/target.mk b/mk/target.mk index 8a552ce..56d1193 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -428,6 +428,7 @@ endif $(GHCI_LIBRARY) :: $(GHCI_LIBOBJS) ld -r -x -o $@ $(GHCI_LIBOBJS) $(STUBOBJS) +INSTALL_LIBS += $(GHCI_LIBRARY) CLEAN_FILES += $(GHCI_LIBRARY) endif endif @@ -633,30 +634,67 @@ endif @echo Done. endif -# links to script programs: we sometimes install a script as -# - with a link from to the real script. +# --------------------------------------------------------------------------- +# Symbolic links -ifneq "$(SCRIPT_LINK)" "" -all :: $(SCRIPT_LINK) +# links to programs: we sometimes install a program as +# - with a link from to the real program. + +ifneq "$(LINK)" "" + +all :: $(LINK) + +CLEAN_FILES += $(LINK) + +ifeq "$(LINK_TARGET)" "" +ifneq "$(SCRIPT_PROG)" "" +LINK_TARGET = $(SCRIPT_PROG) +else +ifneq "$(HS_PROG)" "" +LINK_TARGET = $(HS_PROG) +else +ifneq "$(C_PROG)" "" +LINK_TARGET = $(C_PROG) +else +LINK_TARGET = dunno +endif +endif +endif +endif # -# Don't want to overwrite $(SCRIPT_LINK)s that aren't symbolic +# Don't want to overwrite $(LINK)s that aren't symbolic # links. Testing for symbolic links is problematic to do in # a portable fashion using a /bin/sh test, so we simply rely # on perl. # -$(SCRIPT_LINK) : $(SCRIPT_PROG) - @if ( $(PERL) -e '$$fn="$(SCRIPT_LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ - echo "Creating a symbolic link from $(SCRIPT_PROG) to $(SCRIPT_LINK)"; \ - $(RM) $(SCRIPT_LINK); \ - $(LN_S) $(SCRIPT_PROG) $(SCRIPT_LINK); \ +$(LINK) : $(LINK_TARGET) + @if ( $(PERL) -e '$$fn="$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ + echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK)"; \ + $(RM) $(LINK); \ + $(LN_S) $(LINK_TARGET) $(LINK); \ else \ - echo "Creating a symbolic link from $(SCRIPT_PROG) to $(SCRIPT_LINK) failed: \`$(SCRIPT_LINK)' already exists"; \ - echo "Perhaps remove \`$(SCRIPT_LINK)' manually?"; \ + echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK) failed: \`$(LINK)' already exists"; \ + echo "Perhaps remove \`$(LINK)' manually?"; \ + exit 1; \ + fi; + + +# +# install links to script drivers. +# +install :: + @if ( $(PERL) -e '$$fn="$(bindir)/$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ + echo "Creating a symbol link from $(LINK_TARGET) to $(LINK) in $(bindir)"; \ + $(RM) $(bindir)/$(LINK); \ + $(LN_S) $(LINK_TARGET) $(bindir)/$(LINK); \ + else \ + echo "Creating a symbol link from $(LINK_TARGET) to $(LINK) in $(bindir) failed: \`$(bindir)/$(LINK)' already exists"; \ + echo "Perhaps remove \`$(bindir)/$(LINK)' manually?"; \ exit 1; \ fi; -endif +endif # LINK ########################################### @@ -856,23 +894,6 @@ install-strip:: @$(MAKE) EXTRA_INSTALL_OPTS='-s' install endif -# -# install links to script drivers. -# -ifneq "$(SCRIPT_LINK)" "" -install :: - @if ( $(PERL) -e '$$fn="$(bindir)/$(SCRIPT_LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ - echo "Creating a symbol link from $(SCRIPT_PROG) to $(SCRIPT_LINK) in $(bindir)"; \ - $(RM) $(bindir)/$(SCRIPT_LINK); \ - $(LN_S) $(SCRIPT_PROG) $(bindir)/$(SCRIPT_LINK); \ - else \ - echo "Creating a symbol link from $(SCRIPT_PROG) to $(SCRIPT_LINK) in $(bindir) failed: \`$(bindir)/$(SCRIPT_LINK)' already exists"; \ - echo "Perhaps remove \`$(bindir)/$(SCRIPT_LINK)' manually?"; \ - exit 1; \ - fi; - -endif - ########################################### # # Targets: check tags show -- 1.7.10.4