2 ## common prefix for all Makefile.in in the Kerberos V5 tree.
11 install:: install-$(WHAT)
15 all-recurse: all-prerecurse
16 all-postrecurse:: all-recurse
17 all-unix:: all-postrecurse
22 clean-unix:: clean-prerecurse
23 clean-unix:: clean-recurse
24 clean-unix:: clean-postrecurse
29 distclean-unix:: distclean-prerecurse
30 distclean-unix:: distclean-recurse
31 distclean-unix:: distclean-postrecurse
33 install-unix:: install-prerecurse
34 install-unix:: install-recurse
35 install-unix:: install-postrecurse
40 check-unix:: check-prerecurse
41 check-unix:: check-recurse
42 check-unix:: check-postrecurse
47 Makefiles:: Makefiles-prerecurse
48 Makefiles:: Makefiles-recurse
49 Makefiles:: Makefiles-postrecurse
51 Makefiles-prerecurse::
52 Makefiles-postrecurse::
58 # this is magic... should only be used for preceding a program invocation
60 # "/" for UNIX, "\" for Windows; *sigh*
63 SUBDIRS = @subdirs@ $(LOCAL_SUBDIRS)
65 SRCTOP = @srcdir@/$(BUILDTOP)
67 CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
69 ALL_CFLAGS = $(DEFS) $(DEFINES) $(LOCALINCLUDES) $(CPPFLAGS) $(CFLAGS)
77 LD_UNRESOLVED_PREFIX = @LD_UNRESOLVED_PREFIX@
78 LD_SHLIBDIR_PREFIX = @LD_SHLIBDIR_PREFIX@
82 SRVDEPLIBS = @SRVDEPLIBS@
84 CLNTDEPLIBS = @CLNTDEPLIBS@
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
95 INSTALL_PREFIX=$(prefix)
96 INSTALL_EXEC_PREFIX=@exec_prefix@
97 exec_prefix=@exec_prefix@
98 SHLIB_TAIL_COMP=@SHLIB_TAIL_COMP@
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@
112 $(KRB5_INCDIR)/gssapi \
113 $(KRB5_INCDIR)/kerberosIV
116 # Macros used by the KADM5 (OV-based) unit test system.
117 # XXX check which of these are actually used!
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
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 "*-*-*".
136 DEJAFLAGS = $(DEJALFLAGS) $(CLFLAGS) --debug --srcdir $(srcdir) --host \
138 RUNTEST = runtest $(DEJAFLAGS)
140 START_SERVERS = $(STESTDIR)/scripts/start_servers $(TEST_SERVER) $(TEST_PATH)
141 START_SERVERS_LOCAL = $(STESTDIR)/scripts/start_servers_local
143 STOP_SERVERS = $(STESTDIR)/scripts/stop_servers $(TEST_SERVER) $(TEST_PATH)
144 STOP_SERVERS_LOCAL = $(STESTDIR)/scripts/stop_servers_local
146 # End of macros for the KADM5 unit test system.
149 transform = @program_transform_name@
163 AUTOCONF = @AUTOCONF@
164 AUTOCONFFLAGS = @AUTOCONFFLAGS@
165 AUTOHEADER = @AUTOHEADER@
166 AUTOHEADERFLAGS = @AUTOHEADERFLAGS@
168 HOST_TYPE = @HOST_TYPE@
172 DO_MAKE_SHLIB = @DO_MAKE_SHLIB@
173 SHLIB_STATIC_TARGET=@SHLIB_STATIC_TARGET@
175 TOPLIBD = $(BUILDTOP)/lib
182 # variables for libraries, for use in linking programs
183 # -- this may want to get broken out into a separate frag later
186 # Note: the following variables must be set in any Makefile.in that
187 # uses KRB5_BUILD_PROGRAM
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
192 # invocation is like:
193 # prog: foo.o bar.o $(KRB5_BASE_DEPLIBS)
194 # $(CC_LINK) -o $@ foo.o bar.o $(KRB5_BASE_LIBS)
199 # this gets set by configure to either $(STLIBEXT) or $(SHLIBEXT),
200 # depending on whether we're building with shared libraries.
201 DEPLIBEXT=@DEPLIBEXT@
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)
217 # These are forced to use ".a" as an extension because they're never
219 SS_DEPLIB = $(SS_DEPLIB-@SS_VERSION@)
220 SS_DEPLIB-k5 = $(TOPLIBD)/libss.a
222 KRB524_DEPLIB = @KRB524_DEPLIB@
223 PTY_DEPLIB = $(TOPLIBD)/libpty.a
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)
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@)
241 SS_DEPS-k5 = $(BUILDTOP)/include/ss/ss.h $(BUILDTOP)/include/ss/ss_err.h
243 # LIBS gets substituted in... e.g. -lnsl -lsocket
245 # GEN_LIB is -lgen if needed for regexp
248 SS_LIB = $(SS_LIB-@SS_VERSION@)
249 SS_LIB-sys = @SS_LIB@
250 SS_LIB-k5 = $(TOPLIBD)/libss.a
254 KRB5_LIB = $(KRB5_LIB_@LIB_LINK_OPT@)
255 KRB5_LIB_libopt = -lkrb5
256 KRB5_LIB_frameworkopt = -framework Kerberos5
258 K5CRYPTO_LIB = $(K5CRYPTO_LIB_@LIB_LINK_OPT@)
259 K5CRYPTO_LIB_libopt = -lk5crypto
260 K5CRYPTO_LIB_frameworkopt = -framework Kerberos5Crypto
262 COM_ERR_LIB = -lcom_err
264 GSS_KRB5_LIB = $(GSS_KRB5_LIB_@LIB_LINK_OPT@)
265 GSS_KRB5_LIB_libopt = -lgssapi_krb5
266 GSS_KRB5_LIB_frameworkopt = -framework Krb5GSSAPILib
268 # KRB4_LIB is -lkrb4 if building --with-krb4
269 # needs fixing if ever used on Mac OS X!
270 KRB4_LIB = @KRB4_LIB@
272 # DES425_LIB is -ldes425 if building --with-krb4
273 # needs fixing if ever used on Mac OS X!
274 DES425_LIB = @DES425_LIB@
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@
280 # HESIOD_LIBS is -lhesiod...
281 HESIOD_LIBS = @HESIOD_LIBS@
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)
294 # need fixing if ever used on Mac OS X!
298 # some more stuff for --with-krb4
299 KRB4_LIBPATH = @KRB4_LIBPATH@
300 KRB4_INCLUDES = @KRB4_INCLUDES@
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@
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
316 .SUFFIXES: .h .c .et .ct
324 # rule to make object files
328 $(CC) $(ALL_CFLAGS) -c $<
330 # ss command table rules
332 MAKE_COMMANDS= $(MAKE_COMMANDS-@SS_VERSION@)
333 MAKE_COMMANDS-sys= mk_cmds
334 MAKE_COMMANDS-k5= $(BUILDTOP)/util/ss/mk_cmds