4
################################################################################
8
# This file sets up the installation directories.
10
# DO NOT EDIT THIS FILE!
12
# - install.mk is auto-generated from install.mk.in by configure.
13
# If you edit install.mk your changes will be spammed.
15
# - Settings in this file may be overriden by giving replacement
16
# definitions in build.mk.
18
# Definition of installation directories, we don't use half of these, but since
19
# the configure script has them on offer while passing through, we might as well
20
# set them. Note that we have to be careful, because the GNU coding standards
21
# have changed a bit over the course of time, and autoconf development reflects
24
# A little bit of history regarding autoconf and GNU coding standards, use this
25
# as a cheat-sheet for the stuff below:
27
# variable | default < 2.60 | default >= 2.60
28
# ------------+--------------------+--------------------------------------
29
# exec_prefix | ${prefix} | ${prefix}
30
# libdir | ${exec_prefix}/lib | ${exec_prefix}/lib
31
# datarootdir | NONE! | ${prefix}/share
32
# datadir | ${prefix}/share | ${datarootdir}
33
# infodir | ${prefix}/info | ${datarootdir}/info
34
# mandir | ${prefix}/man | ${datarootdir}/man
35
# docdir | NONE! | ${datarootdir}/doc/${PACKAGE_TARNAME}
36
# htmldir | NONE! | ${docdir}
37
# dvidir | NONE! | ${docdir}
38
# pdfdir | NONE! | ${docdir}
39
# psdir | NONE! | ${docdir}
41
# NOTE: The default e.g. ${docdir} above means that autoconf substitutes the
42
# string "${docdir}", not the value of docdir! This is crucial for the GNU
46
# $1 = variable to set
47
# $2 = default value to use, if configure didn't expand it
48
# If $1 starts with an @ then configure didn't set it (because a version
49
# of autoconf that is too old was used), so set it to a sensible value
50
ifneq "$$(filter @%,$$($1))" ""
55
# This gets used in the default docdir when autoconf >= 2.60 is used
56
PACKAGE_TARNAME = @PACKAGE_TARNAME@
60
datarootdir = @datarootdir@
61
$(eval $(call set_default,datarootdir,$${prefix}/share))
63
exec_prefix = @exec_prefix@
67
includedir = @includedir@
71
$(eval $(call set_default,docdir,$${datarootdir}/doc/ghc))
77
$(eval $(call set_default,htmldir,$${docdir}))
78
$(eval $(call set_default,dvidir,$${docdir}))
79
$(eval $(call set_default,pdfdir,$${docdir}))
80
$(eval $(call set_default,psdir,$${docdir}))
82
ifeq "$(RelocatableBuild)" "YES"
84
# Hack: our directory layouts tend to be different on Windows, so
85
# hack around configure's bogus assumptions here.
86
datarootdir = $(prefix)
87
datadir = $(prefix)/lib
88
libdir = $(prefix)/lib
90
docdir = $(prefix)/doc
97
ghcdocdir = $(datarootdir)/doc
101
# Unix: override libdir and datadir to put ghc-specific stuff in
102
# a subdirectory with the version number included.
104
# datadir is set to libdir here as GHC needs package.conf and unlit
105
# to be in the same place (and things like ghc-pkg need to agree on
106
# where package.conf is, so we just set it globally).
108
ghclibdir = $(libdir)/ghc-$(ProjectVersion)
109
ghcdocdir = $(datarootdir)/doc/ghc
112
ghclibexecdir = $(ghclibdir)
113
topdir = $(ghclibdir)
114
ghcheaderdir = $(ghclibdir)/include
116
#-----------------------------------------------------------------------------
117
# install configuration
120
# Set this to have files installed with a specific owner
125
# Set this to have files installed with a specific group
130
# Invocations of `install' for the four different classes
133
CREATE_SCRIPT = create () { touch "$$1" && chmod 755 "$$1" ; } && create
134
CREATE_DATA = create () { touch "$$1" && chmod 644 "$$1" ; } && create
135
INSTALL_PROGRAM = $(INSTALL) -m 755
136
INSTALL_SCRIPT = $(INSTALL) -m 755
137
INSTALL_SHLIB = $(INSTALL) -m 755
138
INSTALL_DATA = $(INSTALL) -m 644
139
INSTALL_HEADER = $(INSTALL) -m 644
140
INSTALL_MAN = $(INSTALL) -m 644
141
INSTALL_DOC = $(INSTALL) -m 644
142
INSTALL_DIR = $(INSTALL) -m 755 -d
145
# runhaskell and hsc2hs are special, in that other compilers besides
146
# GHC might provide them. Systems with a package manager often come
147
# with tools to manage this kind of clash, e.g. RPM's
148
# update-alternatives. When building a distribution for such a system,
149
# we recommend setting both of the following to 'YES'.
151
# NO_INSTALL_RUNHASKELL = YES
152
# NO_INSTALL_HSC2HS = YES
154
# NB. we use negative tests here because for binary-distributions we cannot
155
# test build-time variables at install-time, so they must default to on.