-
-###########################################
-#
-# Targets: install install-strip uninstall
-#
-###########################################
-
-# 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)
-#
-# 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 installdirs install-strip install-dirs uninstall install-docs show-install
-
-show-install :
- @echo "bindir = $(bindir)"
- @echo "libdir = $(libdir)"
- @echo "libexecdir = $(libexecdir) # by default, same as libdir"
- @echo "datadir = $(datadir) # unused for ghc project"
-
-#
-# Sometimes useful to separate out the creation of install directories
-# from the installation itself.
-#
-install-dirs ::
- @$(INSTALL_DIR) $(bindir)
- @$(INSTALL_DIR) $(libdir)
- @$(INSTALL_DIR) $(libexecdir)
- @$(INSTALL_DIR) $(datadir)
-
-# Better do this first...
-# but we won't for the moment, do it on-demand from
-# within the various install targets instead.
-#install:: install-dirs
-
-# Install libraries automatically
-ifneq "$(LIBRARY)" ""
-INSTALL_LIBS += $(LIBRARY)
-ifeq "$(DLLized)" "YES"
-INSTALL_PROGS += $(DLL_NAME)
-INSTALL_LIBS += $(patsubst %.a,%_imp.a, $(LIBRARY))
-endif
-INSTALL_DATAS += $(HS_IFACES)
-endif
-
-ifneq "$(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).
-#
-# This is bit of a pain to express since GNU make doesn't have
-# something like $(if ...), but possible using $(subst ...)
-# [Aside: I added support for $(if ...) to my local copy of GNU
-# make at one stage, perhaps I should propagate the patch to
-# the GNU make maintainers...]
-#
-INSTALL_PROGS := $(foreach p, $(INSTALL_PROGS), $(addsuffix $(subst _,,$(subst __,$(exeext),_$(suffix $(p))_)), $(basename $(p))))
-
-install:: $(INSTALL_PROGS)
- @$(INSTALL_DIR) $(bindir)
- @for i in $(INSTALL_PROGS); do \
- echo $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir); \
- $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(bindir) ; \
- done
-endif
-
-#
-# Just like INSTALL_PROGS, but prefix with install sites bin/lib/data and
-# install without stripping.
-#
-ifneq "$(INSTALL_SCRIPTS)" ""
-install:: $(INSTALL_SCRIPTS)
- @$(INSTALL_DIR) $(bindir)
- for i in $(INSTALL_SCRIPTS); do \
- $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(bindir); \
- done
-endif
-
-ifneq "$(INSTALL_LIB_SCRIPTS)" ""
-install:: $(INSTALL_LIB_SCRIPTS)
- @$(INSTALL_DIR) $(libdir)
- for i in $(INSTALL_LIB_SCRIPTS); do \
- $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(libdir); \
- done
-endif
-
-ifneq "$(INSTALL_LIBEXEC_SCRIPTS)" ""
-install:: $(INSTALL_LIBEXEC_SCRIPTS)
- @$(INSTALL_DIR) $(libexecdir)
- for i in $(INSTALL_LIBEXEC_SCRIPTS); do \
- $(INSTALL_SCRIPT) $(INSTALL_OPTS) $$i $(libexecdir); \
- done
-endif
-
-ifneq "$(INSTALL_LIBS)" ""
-install:: $(INSTALL_LIBS)
- @$(INSTALL_DIR) $(libdir)
- for i in $(INSTALL_LIBS); do \
- case $$i in \
- *.a) \
- $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \
- $(RANLIB) $(libdir)/`basename $$i` ;; \
- *.dll) \
- $(INSTALL_DATA) -s $(INSTALL_OPTS) $$i $(libdir) ;; \
- *) \
- $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(libdir); \
- esac; \
- done
-endif
-
-ifneq "$(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) $(libexecdir)
- -for i in $(INSTALL_LIBEXECS); do \
- $(INSTALL_PROGRAM) $(INSTALL_BIN_OPTS) $$i $(libexecdir); \
- done
-endif
-
-ifneq "$(INSTALL_DATAS)" ""
-install:: $(INSTALL_DATAS)
- @$(INSTALL_DIR) $(datadir)
- for i in $(INSTALL_DATAS); do \
- $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir); \
- done
-endif
-
-ifneq "$(INSTALL_INCLUDES)" ""
-install:: $(INSTALL_INCLUDES)
- @$(INSTALL_DIR) $(includedir)
- for i in $(INSTALL_INCLUDES); do \
- $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(includedir); \
- done
-endif
-
-#
-# Use with care..
-#
-uninstall::
- @for i in $(INSTALL_PROGS) "" ; do \
- if test "$$i"; then \
- echo rm -f $(bindir)/`basename $$i`; \
- rm -f $(bindir)/`basename $$i`; \
- fi; \
- done
- @for i in $(INSTALL_LIBS) ""; do \
- if test "$$i"; then \
- echo rm -f $(libdir)/`basename $$i`; \
- rm -f $(libdir)/`basename $$i`; \
- fi; \
- done
- @for i in $(INSTALL_LIBEXECS) ""; do \
- if test "$$i"; then \
- echo rm -f $(libexecdir)/`basename $$i`; \
- rm -f $(libexecdir)/`basename $$i`; \
- fi; \
- done
- @for i in $(INSTALL_DATAS) ""; do \
- if test "$$i"; then \
- echo rm -f $(datadir)/`basename $$i`; \
- rm -f $(datadir)/`basename $$i`; \
- fi; \
- done
-
-#
-# install-strip is from the GNU Makefile standard.
-#
-ifneq "$(way)" ""
-install-strip::
- @$(MAKE) EXTRA_INSTALL_OPTS='-s' install
-endif
-
-###########################################