GHC new build system megapatch
[ghc-hetmet.git] / mk / install.mk
diff --git a/mk/install.mk b/mk/install.mk
deleted file mode 100644 (file)
index 1efb695..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-#
-#      install* installcheck installdirs
-#       install-docs*
-#
-#    Some of the above targets have a version that
-#    recursively invokes that target in sub-directories.
-#    This relies on the importing Makefile setting SUBDIRS
-#
-#    The recursive targets are marked with a * above
-#
-
-##################################################################
-#              GNU Standard targets
-#
-#      Every Makefile should define the following targets
-# 
-# `install'
-#      Compile the program and copy the executables, libraries, and so on
-#      to the file names where they should reside for actual use. If
-#      there is a simple test to verify that a program is properly
-#      installed, this target should run that test.
-# 
-#      The commands should create all the directories in which files are
-#      to be installed, if they don't already exist. This includes the
-#      directories specified as the values of the variables prefix and
-#      exec_prefix , as well as all subdirectories that are needed. One
-#      way to do this is by means of an installdirs target as described
-#      below.
-# 
-#      Use `-' before any command for installing a man page, so that make
-#      will ignore any errors.  This is in case there are systems that
-#      don't have the Unix man page documentation system installed.
-# 
-# The following targets are suggested as conventional names, for programs
-# in which they are useful.
-# 
-# installcheck
-#      Perform installation tests (if any). The user must build and
-#      install the program before running the tests. You should not
-#      assume that `$(bindir)' is in the search path.
-# 
-# installdirs
-#      It's useful to add a target named `installdirs' to create the
-#      directories where files are installed, and their parent
-#      directories. There is a script called `mkinstalldirs' which is
-#      convenient for this; find it in the Texinfo package.
-#      (GHC: we use a close relative of the suggested script, situated
-#       in glafp-utils/mkdirhier -- SOF)
-
-
-
-# ---------------------------------------------------------------------------
-# Symbolic links
-
-# links to programs: we sometimes install a program as
-# <name>-<version> with a link from <name> to the real program.
-
-ifneq "$(LINK)" ""
-
-ifeq "$(LINK_TARGET)" ""
-ifneq "$(HS_PROG)" ""
-LINK_TARGET = $(HS_PROG)
-else
-ifneq "$(C_PROG)" ""
-LINK_TARGET = $(C_PROG)
-else
-$(error Cannot deduce LINK_TARGET)
-endif
-endif
-endif
-
-#
-# install links to script drivers.
-#
-install ::
-       $(INSTALL_DIR) $(DESTDIR)$(bindir)
-       if ( $(PERL) -e '$$fn="$(DESTDIR)$(bindir)/$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \
-          echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK) in $(DESTDIR)$(bindir)"; \
-          $(RM) $(DESTDIR)$(bindir)/$(LINK); \
-          $(LN_S) $(LINK_TARGET) $(DESTDIR)$(bindir)/$(LINK); \
-        else \
-          echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK) in $(DESTDIR)$(bindir) failed: \`$(DESTDIR)$(bindir)/$(LINK)' already exists"; \
-          echo "Perhaps remove \`$(DESTDIR)$(bindir)/$(LINK)' manually?"; \
-          exit 1; \
-        fi;
-
-endif # LINK 
-
-
-###########################################
-#
-#      Targets: install install-strip
-#
-###########################################
-
-# For each of these variables that is defined, you
-# get one install rule
-#
-#      INSTALL_PROGS        executable programs in $(bindir)
-#      INSTALL_SCRIPTS      executable scripts in $(bindir)
-#      INSTALL_LIBS         platform-dependent libraries in $(libdir) (ranlib'ed)
-#      INSTALL_LIB_SCRIPTS  platform-dependent scripts   in $(libdir)
-#      INSTALL_LIBEXECS     platform-dependent execs in $(libdir)
-#      INSTALL_DATAS        platform-independent files in $(datadir)
-#      INSTALL_IFACES       platform-dependent interface files in $(ifacedir)
-#
-# If the installation directory variable is undefined, the install rule simply
-# emits a suitable error message.
-#
-# Remember, too, that the installation directory variables ($(bindir) and
-# friends can be overridden from their original settings in mk/config.mk.in
-# || mk/build.mk
-#
-.PHONY: install install-docs installdirs install-strip install-docs show-install
-
-show-install :
-       @echo "DESTDIR = $(DESTDIR)"
-       @echo "bindir = $(bindir)"
-       @echo "libdir = $(libdir)"
-       @echo "libexecdir = $(libexecdir)  # by default, same as libdir"
-       @echo "datadir = $(datadir)  # unused for ghc project"
-       @echo "ifacedir = $(ifacedir)"
-       @echo "headerdir = $(headerdir)"
-       @echo "includedir = $(includedir)"
-
-#
-# Setting user/group ownership for the installed entities
-#
-ifneq "$(INSTALL_OWNER)" ""
-SRC_INSTALL_OPTS += -o $(INSTALL_OWNER)
-endif
-ifneq "$(INSTALL_GROUP)" ""
-SRC_INSTALL_OPTS += -g $(INSTALL_GROUP)
-endif
-
-
-ifneq "$(strip $(INSTALL_PROGS))" ""
-
-#
-# Here's an interesting one - when using the win32 version
-# of install (provided via the cygwin toolkit), we have to
-# supply the .exe suffix, *if* there's no other suffix.
-#
-# The rule below does this by ferreting out the suffix of each
-# entry in the INSTALL_PROGS list. If there's no suffix, use
-# $(exeext).
-# 
-INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS),\
-                   $(if $(filter $(exeext),$(suffix $p)),\
-                        $p,\
-                        $(addsuffix $(exeext),$p)\
-                    )\
-                  )
-
-install:: $(INSTALL_PROGS)
-       $(INSTALL_DIR) $(DESTDIR)$(bindir)
-       for i in $(INSTALL_PROGS); do \
-                   $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(DESTDIR)$(bindir) ;  \
-                    if test "$(darwin_TARGET_OS)" = "1"; then \
-                      sh $(FPTOOLS_TOP)/mk/fix_install_names.sh $(libdir) $(DESTDIR)$(bindir)/$$i ; \
-                    fi ; \
-       done
-endif
-
-#
-# Just like INSTALL_PROGS, but prefix with install sites bin/lib/data and
-# install without stripping.
-#
-ifneq "$(strip $(INSTALL_SCRIPTS))" ""
-install:: $(INSTALL_SCRIPTS)
-       $(INSTALL_DIR) $(DESTDIR)$(bindir)
-       for i in $(INSTALL_SCRIPTS); do \
-               $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(DESTDIR)$(bindir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_LIB_SCRIPTS))" ""
-install:: $(INSTALL_LIB_SCRIPTS)
-       $(INSTALL_DIR) $(DESTDIR)$(libdir)
-       for i in $(INSTALL_LIB_SCRIPTS); do \
-               $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_LIBEXEC_SCRIPTS))" ""
-install:: $(INSTALL_LIBEXEC_SCRIPTS)
-       $(INSTALL_DIR) $(DESTDIR)$(libexecdir)
-       for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
-               $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(DESTDIR)$(libexecdir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_LIBS))" ""
-install:: $(INSTALL_LIBS)
-       $(INSTALL_DIR) $(DESTDIR)$(libdir)
-       for i in $(INSTALL_LIBS); do \
-               case $$i in \
-                 *.a) \
-                   $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir); \
-                   $(RANLIB) $(DESTDIR)$(libdir)/`basename $$i` ;; \
-                 *.dll) \
-                   $(INSTALL_DATA) -s $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir) ;; \
-                 *.so) \
-                   $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir) ;; \
-                 *.dylib) \
-                   $(INSTALL_SHLIB) $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir); \
-                   install_name_tool -id $(DESTDIR)$(libdir)/`basename $$i` $(DESTDIR)$(libdir)/`basename $$i` ;; \
-                 *) \
-                   $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(libdir); \
-               esac; \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_LIBEXECS))" ""
-#
-# See above comment next to defn of INSTALL_PROGS for what
-# the purpose of this one-liner is.
-# 
-INSTALL_LIBEXECS := $(foreach p, $(INSTALL_LIBEXECS), $(addsuffix $(subst _,,$(subst __,$(exeext),_$(suffix $(p))_)), $(basename $(p))))
-
-install:: $(INSTALL_LIBEXECS)
-       $(INSTALL_DIR) $(DESTDIR)$(libexecdir)
-       -for i in $(INSTALL_LIBEXECS); do \
-               $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(DESTDIR)$(libexecdir); \
-                if test "$(darwin_TARGET_OS)" = "1"; then \
-                        sh $(FPTOOLS_TOP)/mk/fix_install_names.sh $(libdir) $(DESTDIR)$(libexecdir)/`basename $$i` ; \
-                fi ; \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_DATAS))" ""
-install:: $(INSTALL_DATAS)
-       $(INSTALL_DIR) $(DESTDIR)$(datadir)
-       for i in $(INSTALL_DATAS); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(datadir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_HEADERS))" ""
-install:: $(INSTALL_HEADERS)
-       $(INSTALL_DIR) $(DESTDIR)$(headerdir)
-       for i in $(INSTALL_HEADERS); do \
-               $(INSTALL_HEADER) $(INSTALL_OPTS) $$i $(DESTDIR)$(headerdir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_IFACES))" ""
-install:: $(INSTALL_IFACES)
-       $(INSTALL_DIR) $(DESTDIR)$(ifacedir)
-       for i in $(INSTALL_IFACES); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(ifacedir); \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_IFACES_WITH_DIRS))" ""
-install:: $(INSTALL_IFACES_WITH_DIRS)
-       $(INSTALL_DIR) $(DESTDIR)$(ifacedir)
-       for i in $(INSTALL_IFACES_WITH_DIRS); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(ifacedir)/`dirname $$i`; \
-       done
-endif
-
-ifneq "$(strip $(INSTALL_DOCS))" ""
-ifneq "$(XMLDocWays)" ""
-install-docs:: $(INSTALL_DOCS)
-       $(INSTALL_DIR) $(DESTDIR)$(datadir)
-       for i in $(INSTALL_DOCS); do \
-               $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(DESTDIR)$(datadir); \
-       done
-endif
-endif
-
-ifneq "$(strip $(INSTALL_XML_DOC))" ""
-ifeq "$(DOC_SUBDIR)" ""
-DOC_SUBDIR=docs/$(XML_DOC)
-endif
-
-ifneq "$(XMLDocWays)" ""
-# TODO: The following could be an entry for an Obfuscated Makefile Contest...
-install-docs:: $(foreach i,$(XMLDocWays),$(INSTALL_XML_DOC)$(patsubst %.html-no-chunks,%.html,$(patsubst %.html,%/index.html,.$(i))))
-
-install-docs:: $(foreach i,$(XMLDocWays),install-docs-$i)
-
-install-docs-html:
-       $(INSTALL_DIR) $(DESTDIR)$(htmldir)
-       $(INSTALL_DIR) $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC)
-       $(CP) $(INSTALL_XML_DOC)/* $(DESTDIR)$(htmldir)/$(INSTALL_XML_DOC)
-
-install-docs-html-no-chunks:
-       $(INSTALL_DIR) $(DESTDIR)$(htmldir)
-       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).html $(DESTDIR)$(htmldir)
-       $(CP) $(FPTOOLS_CSS_ABS) $(DESTDIR)$(htmldir)
-
-install-docs-%:
-       $(INSTALL_DIR) $(DESTDIR)$($*dir)
-       $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_XML_DOC).$* $(DESTDIR)$($*dir)
-endif
-endif
-
-#
-# install-strip is from the GNU Makefile standard.
-#
-ifneq "$(way)" ""
-install-strip::
-       $(MAKE) EXTRA_INSTALL_OPTS='-s' install
-endif
-