- fixed include path
[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 KLIPSINC=${FREESWANSRCDIR}/linux/include
37 KLIPSSRC=${FREESWANSRCDIR}/linux/net/ipsec
38
39 LIBFREESWANDIR=${FREESWANSRCDIR}/linux/lib/libfreeswan
40 FREESWANLIB=${FREESWANSRCDIR}/lib/libfreeswan/libfreeswan.a
41
42 LWRESDIR=${FREESWANSRCDIR}/lib/liblwres
43 LWRESLIB=${LWRESDIR}/liblwres.a
44
45 LIBDESSRCDIR=${FREESWANSRCDIR}/linux/crypto/ciphers/des
46 LIBDESLITE=${FREESWANSRCDIR}/lib/libdes/libdes.a
47
48 LIBPOLICYDIR=${FREESWANSRCDIR}/linux/lib/libipsecpolicy
49 POLICYLIB=${FREESWANSRCDIR}/lib/libipsecpolicy/libipsecpolicy.a
50
51 .PHONY: programs checkprograms clean
52
53 ### install pathnames
54
55 # DESTDIR can be used to supply a prefix to all install targets.
56 # (Note that "final" pathnames, signifying where files will eventually
57 # reside rather than where install puts them, are exempt from this.)
58 # The prefixing is done in this file, so as to have central control over
59 # it; DESTDIR itself should never appear in any other Makefile.
60 DESTDIR?=
61
62 # "local" part of tree, used in building other pathnames
63 INC_USRLOCAL=/usr/local
64
65 # PUBDIR is where the "ipsec" command goes; beware, many things define PATH
66 # settings which are assumed to include it (or at least, to include *some*
67 # copy of the "ipsec" command).
68 PUBDIR=$(DESTDIR)$(INC_USRLOCAL)/sbin
69
70 # BINDIR is where sub-commands get put, FINALBINDIR is where the "ipsec"
71 # command will look for them when it is run. Also called LIBEXECDIR.
72 FINALLIBEXECDIR=$(INC_USRLOCAL)/libexec/ipsec
73 LIBEXECDIR=$(DESTDIR)$(FINALBINDIR)
74
75 FINALBINDIR=${FINALLIBEXECDIR}
76 BINDIR=${LIBEXECDIR}
77
78
79 # SBINDIR is where the user interface command goes.
80 FINALSBINDIR=$(INC_USRLOCAL)/sbin
81 SBINDIR=$(DESTDIR)$(FINALSBINDIR)
82
83 # libdir is where utility files go
84 FINALLIBDIR=$(INC_USRLOCAL)/lib/ipsec
85 LIBDIR=$(DESTDIR)$(FINALLIBDIR)
86
87 # sharedlibdir is where shared libraries go
88 SHAREDLIBDIR=$(DESTDIR)$(INC_USRLOCAL)/lib
89
90 # where the appropriate manpage tree is located
91 # location within INC_USRLOCAL
92 INC_MANDIR=man
93 # the full pathname
94 MANTREE=$(DESTDIR)$(INC_USRLOCAL)/$(INC_MANDIR)
95 # all relevant subdirectories of MANTREE
96 MANPLACES=man3 man5 man8
97
98 # where configuration files go
99 FINALCONFFILE?=/etc/ipsec.conf
100 CONFFILE=$(DESTDIR)$(FINALCONFFILE)
101
102 FINALCONFDIR?=/etc
103 CONFDIR=$(DESTDIR)$(FINALCONFDIR)
104
105 FINALCONFDDIR?=${FINALCONFDIR}/ipsec.d
106 CONFDDIR=$(DESTDIR)$(FINALCONFDDIR)
107
108 # sample configuration files go into
109 INC_DOCDIR?=share/doc
110 FINALEXAMPLECONFDIR=${INC_USRLOCAL}/${INC_DOCDIR}/strongswan
111 EXAMPLECONFDIR=${DESTDIR}${FINALEXAMPLECONFDIR}
112
113 FINALDOCDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/strongswan
114 DOCDIR=${DESTDIR}${FINALDOCDIR}
115
116 # where per-conn pluto logs go
117 VARDIR?=/var
118 LOGDIR?=${VARDIR}/log
119 FINALLOGDIR?=${DESTDIR}${LOGDIR}
120
121
122 # An attempt is made to automatically figure out where boot/shutdown scripts 
123 # will finally go:  the first directory in INC_RCDIRS which exists gets them.
124 # If none of those exists (or INC_RCDIRS is empty), INC_RCDEFAULT gets them.
125 # With a non-null DESTDIR, INC_RCDEFAULT will be used unless one of the
126 # INC_RCDIRS directories has been pre-created under DESTDIR.
127 INC_RCDIRS=/etc/rc.d/init.d /etc/rc.d /etc/init.d /sbin/init.d
128 INC_RCDEFAULT=/etc/rc.d/init.d
129
130 # RCDIR is where boot/shutdown scripts go; FINALRCDIR is where they think
131 # will finally be (so utils/Makefile can create a symlink in BINDIR to the
132 # place where the boot/shutdown script will finally be, rather than the
133 # place where it is installed).
134 FINALRCDIR=$(shell for d in $(INC_RCDIRS) ; \
135                 do if test -d $(DESTDIR)/$$d ; \
136                 then echo $$d ; exit 0 ; \
137                 fi ; done ; echo $(INC_RCDEFAULT) )
138 RCDIR=$(DESTDIR)$(FINALRCDIR)
139
140
141
142 ### misc installation stuff
143
144 # what program to use when installing things
145 INSTALL=install
146
147 # flags to the install program, for programs, manpages, and config files
148 # -b has install make backups (n.b., unlinks original), --suffix controls
149 # how backup names are composed.
150 # Note that the install procedures will never overwrite an existing config
151 # file, which is why -b is not specified for them.
152 INSTBINFLAGS=-b --suffix=.old
153 INSTMANFLAGS=
154 INSTCONFFLAGS=
155
156
157 ### misc configuration, included here in hopes that other files will not
158 ### have to be changed for common customizations.
159
160 # extra compile flags, for userland and kernel stuff, e.g. -g for debug info
161 # (caution, this stuff is still being sorted out, will change in future)
162 USERCOMPILE?=-g -O3
163
164 # FreeSWAN 3.x will require bind9. 
165 USE_LWRES?=false
166
167 # whether or not to use iproute2 based commands.
168 #
169 USE_IPROUTE2?=true
170
171 # what kind of firewalling to use:
172 #  2.0  - ipfwadm
173 #  2.2  - ipchains
174 #  2.4  - iptables
175 IPSEC_FIREWALLTYPE=iptables
176
177 # whether or not to include ipsec policy code into pluto.
178 # false for now, since it is still experimental.
179 USE_IPSECPOLICY?=false
180
181 # include support for KEY RR 
182 # this will become false in late 2003.
183 USE_KEYRR?=true
184
185 # include support for KERNEL 2.5/2.6 IPsec in pluto
186 USE_KERNEL26?=true
187
188 # whether or not pluto sends its strongSwan Vendor ID
189 USE_VENDORID?=true
190
191 # whether or not pluto sends an XAUTH VID (Cisco Mode Config Interoperability)
192 USE_XAUTH_VID?=false
193
194 # whether to support NAT Traversal (aka NAT-T)
195 USE_NAT_TRAVERSAL?=true
196
197 # whether to support NAT-T in transport mode (needed for Win2K NAT-T Interop)
198 USE_NAT_TRAVERSAL_TRANSPORT_MODE?=false
199
200 # include libcurl support (currently used for fetching CRLs, OCSP and SCEP)
201 USE_LIBCURL?=false
202
203 # include LDAP support (currently used for fetching CRLs)
204 USE_LDAP?=false
205
206 # uncomment this line if using the LDAPv3 protocol
207 LDAP_VERSION=3
208 # uncomment this line if using the LDAPv2 protocol
209 #LDAP_VERSION=2
210
211 # include PKCS11-based smartcard support
212 USE_SMARTCARD?=false
213
214 # support IKEv2 via charon
215 USE_IKEV2?=true
216
217 # Default PKCS11 library
218 # Uncomment this line if using OpenSC <= 0.9.6
219 #PKCS11_DEFAULT_LIB=\"/usr/lib/pkcs11/opensc-pkcs11.so\"
220 # Uncomment this line if using OpenSC >= 0.10.0
221 PKCS11_DEFAULT_LIB=\"/usr/lib/opensc-pkcs11.so\"
222 # Uncomment and complete this line if using another default library
223 #PKCS11_DEFAULT_LIB=\"/usr/lib/...\"
224
225 # Enable the leak detective to find memory leaks
226 USE_LEAK_DETECTIVE?=false
227
228 # export everything so that scripts can use them.
229 export LIBFREESWANDIR FREESWANSRCDIR FREESWANLIB
230
231 -include ${FREESWANSRCDIR}/Makefile.ver
232
233 # for emacs
234 #
235 # Local Variables: ;;;
236 # mode: makefile ;;;
237 # End Variables: ;;;
238 #