(no commit message)
[strongswan.git] / Makefile.inc
1 # FreeS/WAN pathnames and other master configuration
2 # Copyright (C) 2001, 2002  Henry Spencer.
3
4 # This program is free software; you can redistribute it and/or modify it
5 # under the terms of the GNU General Public License as published by the
6 # Free Software Foundation; either version 2 of the License, or (at your
7 # option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
8
9 # This program is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 # for more details.
13 #
14 # RCSID $Id: Makefile.inc,v 1.12 2006/01/25 17:23:15 as Exp $
15
16
17 # Variables in this file with names starting with INC_ are not for use
18 # by Makefiles which include it; they are subject to change without warning.
19 #
20 # "Final" and "finally" refer to where the files will end up on the
21 # running IPsec system, as opposed to where they get installed by our
22 # Makefiles.  (The two are different for cross-compiles and the like,
23 # where our Makefiles are not the end of the installation process.)
24 # Paths with FINAL in their names are the only ones that the installed
25 # software itself depends on.  (Very few things should know about the
26 # FINAL paths; think twice and consult Henry before making something new
27 # depend on them.)  All other paths are install targets.
28 # See also DESTDIR, below.
29
30
31 ### boilerplate, do not change
32 SHELL=/bin/sh
33
34 ### paths within the source tree
35
36 LIBFREESWANDIR=${FREESWANSRCDIR}/linux/lib/libfreeswan
37 FREESWANLIB=${FREESWANSRCDIR}/lib/libfreeswan/libfreeswan.a
38
39 LWRESDIR=${FREESWANSRCDIR}/lib/liblwres
40 LWRESLIB=${LWRESDIR}/liblwres.a
41
42 LIBDESSRCDIR=${FREESWANSRCDIR}/linux/crypto/ciphers/des
43 LIBDESLITE=${FREESWANSRCDIR}/lib/libdes/libdes.a
44
45 LIBPOLICYDIR=${FREESWANSRCDIR}/linux/lib/libipsecpolicy
46 POLICYLIB=${FREESWANSRCDIR}/lib/libipsecpolicy/libipsecpolicy.a
47
48 .PHONY: programs checkprograms clean
49
50 ### install pathnames
51
52 # DESTDIR can be used to supply a prefix to all install targets.
53 # (Note that "final" pathnames, signifying where files will eventually
54 # reside rather than where install puts them, are exempt from this.)
55 # The prefixing is done in this file, so as to have central control over
56 # it; DESTDIR itself should never appear in any other Makefile.
57 DESTDIR?=
58
59 # "local" part of tree, used in building other pathnames
60 INC_USRLOCAL=/usr/local
61
62 # PUBDIR is where the "ipsec" command goes; beware, many things define PATH
63 # settings which are assumed to include it (or at least, to include *some*
64 # copy of the "ipsec" command).
65 PUBDIR=$(DESTDIR)$(INC_USRLOCAL)/sbin
66
67 # BINDIR is where sub-commands get put, FINALBINDIR is where the "ipsec"
68 # command will look for them when it is run. Also called LIBEXECDIR.
69 FINALLIBEXECDIR=$(INC_USRLOCAL)/libexec/ipsec
70 LIBEXECDIR=$(DESTDIR)$(FINALBINDIR)
71
72 FINALBINDIR=${FINALLIBEXECDIR}
73 BINDIR=${LIBEXECDIR}
74
75
76 # SBINDIR is where the user interface command goes.
77 FINALSBINDIR=$(INC_USRLOCAL)/sbin
78 SBINDIR=$(DESTDIR)$(FINALSBINDIR)
79
80 # libdir is where utility files go
81 FINALLIBDIR=$(INC_USRLOCAL)/lib/ipsec
82 LIBDIR=$(DESTDIR)$(FINALLIBDIR)
83
84 # sharedlibdir is where shared libraries go
85 SHAREDLIBDIR=$(DESTDIR)$(INC_USRLOCAL)/lib
86
87 # where the appropriate manpage tree is located
88 # location within INC_USRLOCAL
89 INC_MANDIR=man
90 # the full pathname
91 MANTREE=$(DESTDIR)$(INC_USRLOCAL)/$(INC_MANDIR)
92 # all relevant subdirectories of MANTREE
93 MANPLACES=man3 man5 man8
94
95 # where configuration files go
96 FINALCONFFILE?=/etc/ipsec.conf
97 CONFFILE=$(DESTDIR)$(FINALCONFFILE)
98
99 FINALCONFDIR?=/etc
100 CONFDIR=$(DESTDIR)$(FINALCONFDIR)
101
102 FINALCONFDDIR?=${FINALCONFDIR}/ipsec.d
103 CONFDDIR=$(DESTDIR)$(FINALCONFDDIR)
104
105 # sample configuration files go into
106 INC_DOCDIR?=share/doc
107 FINALEXAMPLECONFDIR=${INC_USRLOCAL}/${INC_DOCDIR}/strongswan
108 EXAMPLECONFDIR=${DESTDIR}${FINALEXAMPLECONFDIR}
109
110 FINALDOCDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/strongswan
111 DOCDIR=${DESTDIR}${FINALDOCDIR}
112
113 # where per-conn pluto logs go
114 VARDIR?=/var
115 LOGDIR?=${VARDIR}/log
116 FINALLOGDIR?=${DESTDIR}${LOGDIR}
117
118
119 # An attempt is made to automatically figure out where boot/shutdown scripts 
120 # will finally go:  the first directory in INC_RCDIRS which exists gets them.
121 # If none of those exists (or INC_RCDIRS is empty), INC_RCDEFAULT gets them.
122 # With a non-null DESTDIR, INC_RCDEFAULT will be used unless one of the
123 # INC_RCDIRS directories has been pre-created under DESTDIR.
124 INC_RCDIRS=/etc/rc.d/init.d /etc/rc.d /etc/init.d /sbin/init.d
125 INC_RCDEFAULT=/etc/rc.d/init.d
126
127 # RCDIR is where boot/shutdown scripts go; FINALRCDIR is where they think
128 # will finally be (so utils/Makefile can create a symlink in BINDIR to the
129 # place where the boot/shutdown script will finally be, rather than the
130 # place where it is installed).
131 FINALRCDIR=$(shell for d in $(INC_RCDIRS) ; \
132                 do if test -d $(DESTDIR)/$$d ; \
133                 then echo $$d ; exit 0 ; \
134                 fi ; done ; echo $(INC_RCDEFAULT) )
135 RCDIR=$(DESTDIR)$(FINALRCDIR)
136
137
138
139 ### misc installation stuff
140
141 # what program to use when installing things
142 INSTALL=install
143
144 # flags to the install program, for programs, manpages, and config files
145 # -b has install make backups (n.b., unlinks original), --suffix controls
146 # how backup names are composed.
147 # Note that the install procedures will never overwrite an existing config
148 # file, which is why -b is not specified for them.
149 INSTBINFLAGS=-b --suffix=.old
150 INSTMANFLAGS=
151 INSTCONFFLAGS=
152
153
154 ### misc configuration, included here in hopes that other files will not
155 ### have to be changed for common customizations.
156
157 # extra compile flags, for userland and kernel stuff, e.g. -g for debug info
158 # (caution, this stuff is still being sorted out, will change in future)
159 USERCOMPILE?=-g -O3
160
161 # FreeSWAN 3.x will require bind9. 
162 USE_LWRES?=false
163
164 # whether or not to use iproute2 based commands.
165 #
166 USE_IPROUTE2?=true
167
168 # what kind of firewalling to use:
169 #  2.0  - ipfwadm
170 #  2.2  - ipchains
171 #  2.4  - iptables
172 IPSEC_FIREWALLTYPE=iptables
173
174 # whether or not to include ipsec policy code into pluto.
175 # false for now, since it is still experimental.
176 USE_IPSECPOLICY?=false
177
178 # include support for KEY RR 
179 # this will become false in late 2003.
180 USE_KEYRR?=true
181
182 # include support for KERNEL 2.5/2.6 IPsec in pluto
183 USE_KERNEL26?=true
184
185 # whether or not pluto sends its strongSwan Vendor ID
186 USE_VENDORID?=true
187
188 # whether or not pluto sends an XAUTH VID (Cisco Mode Config Interoperability)
189 USE_XAUTH_VID?=false
190
191 # whether to support NAT Traversal (aka NAT-T)
192 USE_NAT_TRAVERSAL?=true
193
194 # whether to support NAT-T in transport mode (needed for Win2K NAT-T Interop)
195 USE_NAT_TRAVERSAL_TRANSPORT_MODE?=false
196
197 # include libcurl support (currently used for fetching CRLs, OCSP and SCEP)
198 USE_LIBCURL?=false
199
200 # include LDAP support (currently used for fetching CRLs)
201 USE_LDAP?=false
202
203 # uncomment this line if using the LDAPv3 protocol
204 LDAP_VERSION=3
205 # uncomment this line if using the LDAPv2 protocol
206 #LDAP_VERSION=2
207
208 # include PKCS11-based smartcard support
209 USE_SMARTCARD?=false
210
211 # support IKEv2 via charon
212 USE_IKEV2?=true
213
214 # Default PKCS11 library
215 # Uncomment this line if using OpenSC <= 0.9.6
216 #PKCS11_DEFAULT_LIB=\"/usr/lib/pkcs11/opensc-pkcs11.so\"
217 # Uncomment this line if using OpenSC >= 0.10.0
218 PKCS11_DEFAULT_LIB=\"/usr/lib/opensc-pkcs11.so\"
219 # Uncomment and complete this line if using another default library
220 #PKCS11_DEFAULT_LIB=\"/usr/lib/...\"
221
222 # Enable the leak detective to find memory leaks
223 USE_LEAK_DETECTIVE?=false
224
225 # export everything so that scripts can use them.
226 export LIBFREESWANDIR FREESWANSRCDIR FREESWANLIB
227
228 -include ${FREESWANSRCDIR}/Makefile.ver
229
230 # for emacs
231 #
232 # Local Variables: ;;;
233 # mode: makefile ;;;
234 # End Variables: ;;;
235 #