Support SS_LIB=... at configure time
[krb5.git] / src / config / pre.in
1 ## config/pre.in
2 ## common prefix for all Makefile.in in the Kerberos V5 tree.
3
4 WHAT = unix
5 SHELL=/bin/sh
6
7 all:: all-$(WHAT)
8
9 clean:: clean-$(WHAT)
10
11 install:: install-$(WHAT)
12
13 check:: check-$(WHAT)
14
15 all-recurse: all-prerecurse
16 all-postrecurse:: all-recurse
17 all-unix:: all-postrecurse
18
19 all-prerecurse::
20 all-postrecurse::
21
22 clean-unix:: clean-prerecurse
23 clean-unix:: clean-recurse
24 clean-unix:: clean-postrecurse
25
26 clean-prerecurse::
27 clean-postrecurse::
28
29 distclean-unix:: distclean-prerecurse
30 distclean-unix:: distclean-recurse
31 distclean-unix:: distclean-postrecurse
32
33 install-unix:: install-prerecurse
34 install-unix:: install-recurse
35 install-unix:: install-postrecurse
36
37 install-prerecurse::
38 install-postrecurse::
39
40 check-unix:: check-prerecurse
41 check-unix:: check-recurse
42 check-unix:: check-postrecurse
43
44 check-prerecurse::
45 check-postrecurse::
46
47 Makefiles:: Makefiles-prerecurse
48 Makefiles:: Makefiles-recurse
49 Makefiles:: Makefiles-postrecurse
50
51 Makefiles-prerecurse::
52 Makefiles-postrecurse::
53
54 # Directory syntax:
55 #
56 # begin relative path
57 REL=
58 # this is magic... should only be used for preceding a program invocation
59 C=./
60 # "/" for UNIX, "\" for Windows; *sigh*
61 S=/
62
63 SUBDIRS = @subdirs@ $(LOCAL_SUBDIRS)
64 srcdir = @srcdir@
65 SRCTOP = @srcdir@/$(BUILDTOP)
66 VPATH = @srcdir@
67 CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
68
69 ALL_CFLAGS = $(DEFS) $(DEFINES) $(LOCALINCLUDES) $(CPPFLAGS) $(CFLAGS)
70 CFLAGS = @CFLAGS@
71 CPPFLAGS = @CPPFLAGS@
72 DEFS = @DEFS@
73 CC = @CC@
74 LD = $(PURE) @LD@
75 DEPLIBS = @DEPLIBS@
76 LDFLAGS = @LDFLAGS@
77 LD_UNRESOLVED_PREFIX = @LD_UNRESOLVED_PREFIX@
78 LD_SHLIBDIR_PREFIX = @LD_SHLIBDIR_PREFIX@
79 LDARGS = @LDARGS@
80 LIBS = @LIBS@
81 SRVLIBS = @SRVLIBS@
82 SRVDEPLIBS = @SRVDEPLIBS@
83 CLNTLIBS = @CLNTLIBS@
84 CLNTDEPLIBS = @CLNTDEPLIBS@
85
86 INSTALL=@INSTALL@
87 INSTALL_STRIP=
88 INSTALL_PROGRAM=@INSTALL_PROGRAM@ $(INSTALL_STRIP)
89 INSTALL_DATA=@INSTALL_DATA@
90 INSTALL_SHLIB=@INSTALL_SHLIB@
91 INSTALL_SETUID=$(INSTALL) $(INSTALL_STRIP) -m 4755 -o root
92 ## This is needed because autoconf will sometimes define @exec_prefix@ to be
93 ## ${prefix}.
94 prefix=@prefix@
95 INSTALL_PREFIX=$(prefix)
96 INSTALL_EXEC_PREFIX=@exec_prefix@
97 exec_prefix=@exec_prefix@
98 SHLIB_TAIL_COMP=@SHLIB_TAIL_COMP@
99
100 KRB5MANROOT = @mandir@
101 ADMIN_BINDIR = @sbindir@
102 SERVER_BINDIR = @sbindir@
103 CLIENT_BINDIR =@bindir@
104 ADMIN_MANDIR = $(KRB5MANROOT)/man8
105 SERVER_MANDIR = $(KRB5MANROOT)/man8
106 CLIENT_MANDIR = $(KRB5MANROOT)/man1
107 FILE_MANDIR = $(KRB5MANROOT)/man5
108 KRB5_LIBDIR = @libdir@
109 KRB5_SHLIBDIR = @libdir@$(SHLIB_TAIL_COMP)
110 KRB5_INCDIR = @includedir@
111 KRB5_INCSUBDIRS = \
112         $(KRB5_INCDIR)/gssapi \
113         $(KRB5_INCDIR)/kerberosIV
114
115 #
116 # Macros used by the KADM5 (OV-based) unit test system.
117 # XXX check which of these are actually used!
118 #
119 TESTDIR         = $(BUILDTOP)/kadmin/testing
120 STESTDIR        = $(SRCTOP)/kadmin/testing
121 COMPARE_DUMP    = $(TESTDIR)/scripts/compare_dump.pl
122 FIX_CONF_FILES  = $(TESTDIR)/scripts/fixup-conf-files.pl
123 INITDB          = $(STESTDIR)/scripts/init_db
124 MAKE_KEYTAB     = $(TESTDIR)/scripts/make-host-keytab.pl
125 LOCAL_MAKE_KEYTAB= $(TESTDIR)/scripts/make-host-keytab.pl
126 RESTORE_FILES   = $(STESTDIR)/scripts/restore_files.sh
127 SAVE_FILES      = $(STESTDIR)/scripts/save_files.sh
128 ENV_SETUP       = $(TESTDIR)/scripts/env-setup.sh
129 CLNTTCL         = $(TESTDIR)/util/ovsec_kadm_clnt_tcl
130 SRVTCL          = $(TESTDIR)/util/ovsec_kadm_srv_tcl
131 # Dejagnu variables.
132 # We have to set the host with --host so that setup_xfail will work.
133 # If we don't set it, then the host type used is "native", which
134 # doesn't match "*-*-*".
135 host=@krb5_cv_host@
136 DEJAFLAGS       = $(DEJALFLAGS) $(CLFLAGS) --debug --srcdir $(srcdir) --host \
137                    $(host)
138 RUNTEST         = runtest $(DEJAFLAGS)
139
140 START_SERVERS   = $(STESTDIR)/scripts/start_servers $(TEST_SERVER) $(TEST_PATH)
141 START_SERVERS_LOCAL = $(STESTDIR)/scripts/start_servers_local
142
143 STOP_SERVERS    = $(STESTDIR)/scripts/stop_servers $(TEST_SERVER) $(TEST_PATH)
144 STOP_SERVERS_LOCAL = $(STESTDIR)/scripts/stop_servers_local
145 #
146 # End of macros for the KADM5 unit test system.
147 #
148
149 transform = @program_transform_name@
150
151 RM = rm -f
152 CP  = cp
153 MV = mv -f
154 CHMOD=chmod
155 RANLIB = @RANLIB@
156 ARCHIVE = @ARCHIVE@
157 ARADD = @ARADD@
158 LN = @LN_S@
159 AWK = @AWK@
160 LEX = @LEX@
161 LEXLIB = @LEXLIB@
162 YACC = @YACC@
163 AUTOCONF = @AUTOCONF@
164 AUTOCONFFLAGS = @AUTOCONFFLAGS@
165 AUTOHEADER = @AUTOHEADER@
166 AUTOHEADERFLAGS = @AUTOHEADERFLAGS@
167
168 HOST_TYPE = @HOST_TYPE@
169 SHEXT = @SHEXT@
170 STEXT=@STEXT@
171 VEXT=@VEXT@
172 DO_MAKE_SHLIB = @DO_MAKE_SHLIB@
173 SHLIB_STATIC_TARGET=@SHLIB_STATIC_TARGET@
174
175 TOPLIBD = $(BUILDTOP)/lib
176
177 OBJEXT = o
178 LIBEXT = a
179 EXEEXT =
180
181 #
182 # variables for libraries, for use in linking programs
183 # -- this may want to get broken out into a separate frag later
184 #
185 #
186 # Note: the following variables must be set in any Makefile.in that
187 # uses KRB5_BUILD_PROGRAM
188 #
189 # PROG_LIBPATH  list of dirs, in -Ldir form, to search for libraries at link
190 # PROG_RPATH    list of dirs, in dir1:dir2 form, for rpath purposes
191 #
192 # invocation is like:
193 # prog: foo.o bar.o $(KRB5_BASE_DEPLIBS)
194 #       $(CC_LINK) -o $@ foo.o bar.o $(KRB5_BASE_LIBS)
195
196
197 CC_LINK=@CC_LINK@
198
199 # this gets set by configure to either $(STLIBEXT) or $(SHLIBEXT),
200 # depending on whether we're building with shared libraries.
201 DEPLIBEXT=@DEPLIBEXT@
202
203 KADMCLNT_DEPLIB = $(TOPLIBD)/libkadm5clnt$(DEPLIBEXT)
204 KADMSRV_DEPLIB  = $(TOPLIBD)/libkadm5srv$(DEPLIBEXT)
205 KDB5_DEPLIB     = $(TOPLIBD)/libkdb5$(DEPLIBEXT)
206 DB_DEPLIB       = $(TOPLIBD)/libdb$(DEPLIBEXT)
207 GSSRPC_DEPLIB   = $(TOPLIBD)/libgssrpc$(DEPLIBEXT)
208 GSS_DEPLIB      = $(TOPLIBD)/libgssapi_krb5$(DEPLIBEXT)
209 KRB4_DEPLIB     = @KRB4_DEPLIB@         # $(TOPLIBD)/libkrb4$(DEPLIBEXT)
210 DES425_DEPLIB   = @DES425_DEPLIB@       # $(TOPLIBD)/libdes425$(DEPLIBEXT)
211 KRB5_DEPLIB     = $(TOPLIBD)/libkrb5$(DEPLIBEXT)
212 CRYPTO_DEPLIB   = $(TOPLIBD)/libk5crypto$(DEPLIBEXT)
213 COM_ERR_DEPLIB  = $(COM_ERR_DEPLIB-@COM_ERR_VERSION@)
214 COM_ERR_DEPLIB-sys = # empty
215 COM_ERR_DEPLIB-k5 = $(TOPLIBD)/libcom_err$(DEPLIBEXT)
216
217 # These are forced to use ".a" as an extension because they're never
218 # built shared.
219 SS_DEPLIB       = $(SS_DEPLIB-@SS_VERSION@)
220 SS_DEPLIB-k5    = $(TOPLIBD)/libss.a
221 SS_DEPLIB-sys   =
222 KRB524_DEPLIB   = @KRB524_DEPLIB@
223 PTY_DEPLIB      = $(TOPLIBD)/libpty.a
224
225 KRB5_BASE_DEPLIBS       = $(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(COM_ERR_DEPLIB)
226 KRB4COMPAT_DEPLIBS      = $(KRB4_DEPLIB) $(DES425_DEPLIB) $(KRB5_BASE_DEPLIBS)
227 KDB5_DEPLIBS            = $(KDB5_DEPLIB) $(DB_DEPLIB)
228 GSS_DEPLIBS             = $(GSS_DEPLIB)
229 GSSRPC_DEPLIBS          = $(GSSRPC_DEPLIB) $(GSS_DEPLIBS)
230 KADM_COMM_DEPLIBS       = $(GSSRPC_DEPLIBS) $(KDB5_DEPLIBS) $(GSSRPC_DEPLIBS)
231 KADMSRV_DEPLIBS         = $(KADMSRV_DEPLIB) $(KDB5_DEPLIBS) $(KADM_COMM_DEPLIBS)
232 KADMCLNT_DEPLIBS        = $(KADMCLNT_DEPLIB) $(KADM_COMM_DEPLIBS)
233
234 # Header file dependencies we might override someday.
235 # See util/depfix.sed.
236 COM_ERR_DEPS    = $(COM_ERR_DEPS-@COM_ERR_VERSION@)
237 COM_ERR_DEPS-sys = # empty
238 COM_ERR_DEPS-k5 = $(BUILDTOP)/include/com_err.h
239 SS_DEPS         = $(SS_DEPS-@SS_VERSION@)
240 SS_DEPS-sys     =
241 SS_DEPS-k5      = $(BUILDTOP)/include/ss/ss.h $(BUILDTOP)/include/ss/ss_err.h
242
243 # LIBS gets substituted in... e.g. -lnsl -lsocket
244
245 # GEN_LIB is -lgen if needed for regexp
246 GEN_LIB         = @GEN_LIB@
247
248 SS_LIB          = $(SS_LIB-@SS_VERSION@)
249 SS_LIB-sys      = @SS_LIB@
250 SS_LIB-k5       = $(TOPLIBD)/libss.a
251 KDB5_LIB        = -lkdb5
252 DB_LIB          = -ldb
253
254 KRB5_LIB                        = $(KRB5_LIB_@LIB_LINK_OPT@)
255 KRB5_LIB_libopt                 = -lkrb5
256 KRB5_LIB_frameworkopt           = -framework Kerberos5
257
258 K5CRYPTO_LIB                    = $(K5CRYPTO_LIB_@LIB_LINK_OPT@)
259 K5CRYPTO_LIB_libopt             = -lk5crypto
260 K5CRYPTO_LIB_frameworkopt       = -framework Kerberos5Crypto
261
262 COM_ERR_LIB                     = -lcom_err
263
264 GSS_KRB5_LIB                    = $(GSS_KRB5_LIB_@LIB_LINK_OPT@)
265 GSS_KRB5_LIB_libopt             = -lgssapi_krb5
266 GSS_KRB5_LIB_frameworkopt       = -framework Krb5GSSAPILib
267
268 # KRB4_LIB is -lkrb4 if building --with-krb4
269 # needs fixing if ever used on Mac OS X!
270 KRB4_LIB        = @KRB4_LIB@
271
272 # DES425_LIB is -ldes425 if building --with-krb4
273 # needs fixing if ever used on Mac OS X!
274 DES425_LIB      = @DES425_LIB@
275
276 # KRB524_LIB is $(BUILDTOP)/krb524/libkrb524.a if building --with-krb4
277 # needs fixing if ever used on Mac OS X!
278 KRB524_LIB      = @KRB524_LIB@
279
280 # HESIOD_LIBS is -lhesiod...
281 HESIOD_LIBS     = @HESIOD_LIBS@
282
283 KRB5_BASE_LIBS  = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(GEN_LIB) $(LIBS)
284 KRB4COMPAT_LIBS = $(KRB4_LIB) $(DES425_LIB) $(KRB5_BASE_LIBS)
285 KDB5_LIBS       = $(KDB5_LIB) $(DB_LIB)
286 GSS_LIBS        = $(GSS_KRB5_LIB)
287 # needs fixing if ever used on Mac OS X!
288 GSSRPC_LIBS     = -lgssrpc $(GSS_LIBS)
289 KADM_COMM_LIBS  = $(GSSRPC_LIBS)
290 # need fixing if ever used on Mac OS X!
291 KADMSRV_LIBS    = -lkadm5srv $(HESIOD_LIBS) $(KDB5_LIBS) $(KADM_COMM_LIBS)
292 KADMCLNT_LIBS   = -lkadm5clnt $(KADM_COMM_LIBS)
293
294 # need fixing if ever used on Mac OS X!
295 PTY_LIB         = -lpty
296
297 #
298 # some more stuff for --with-krb4
299 KRB4_LIBPATH    = @KRB4_LIBPATH@
300 KRB4_INCLUDES   = @KRB4_INCLUDES@
301
302 #
303 # variables for --with-tcl=
304 TCL_LIBS        = @TCL_LIBS@
305 TCL_LIBPATH     = @TCL_LIBPATH@
306 TCL_RPATH       = @TCL_RPATH@
307 TCL_INCLUDES    = @TCL_INCLUDES@
308
309 # error table rules
310 #
311 ### /* these are invoked as $(...) foo.et, which works, but could be better */
312 COMPILE_ET= $(COMPILE_ET-@COM_ERR_VERSION@)
313 COMPILE_ET-sys= compile_et
314 COMPILE_ET-k5= $(BUILDTOP)/util/et/compile_et -d $(SRCTOP)/util/et
315
316 .SUFFIXES:  .h .c .et .ct
317
318 .et.h:
319         $(COMPILE_ET) $<
320
321 .et.c:
322         $(COMPILE_ET) $<
323
324 # rule to make object files
325 #
326 .SUFFIXES: .c .o
327 .c.o:
328         $(CC) $(ALL_CFLAGS) -c $<
329
330 # ss command table rules
331 #
332 MAKE_COMMANDS= $(MAKE_COMMANDS-@SS_VERSION@)
333 MAKE_COMMANDS-sys= mk_cmds
334 MAKE_COMMANDS-k5= $(BUILDTOP)/util/ss/mk_cmds
335
336 .ct.c:
337         $(MAKE_COMMANDS) $<
338
339 #
340 # end of pre.in