diff options
Diffstat (limited to 'mk/install.mk')
-rw-r--r-- | mk/install.mk | 307 |
1 files changed, 0 insertions, 307 deletions
diff --git a/mk/install.mk b/mk/install.mk deleted file mode 100644 index 1efb6958ef..0000000000 --- a/mk/install.mk +++ /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 - |