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::
60 # this is magic... should only be used for preceding a program invocation
63 SUBDIRS = @subdirs@ $(LOCAL_SUBDIRS)
65 SRCTOP = @srcdir@/$(BUILDTOP)
67 CONFIG_RELTOPDIR = @CONFIG_RELTOPDIR@
69 ALL_CFLAGS = $(DEFS) $(DEFINES) $(CPPFLAGS) $(LOCALINCLUDES) $(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 = $(TOPLIBD)/libcom_err$(DEPLIBEXT)
215 # These are forced to use ".a" as an extension because they're never
217 SS_DEPLIB = $(TOPLIBD)/libss.a
218 KRB524_DEPLIB = @KRB524_DEPLIB@
219 PTY_DEPLIB = $(TOPLIBD)/libpty.a
221 KRB5_BASE_DEPLIBS = $(KRB5_DEPLIB) $(CRYPTO_DEPLIB) $(COM_ERR_DEPLIB)
222 KRB4COMPAT_DEPLIBS = $(KRB4_DEPLIB) $(DES425_DEPLIB) $(KRB5_BASE_DEPLIBS)
223 KDB5_DEPLIBS = $(KDB5_DEPLIB) $(DB_DEPLIB)
224 GSS_DEPLIBS = $(GSS_DEPLIB)
225 GSSRPC_DEPLIBS = $(GSSRPC_DEPLIB) $(GSS_DEPLIBS)
226 KADM_COMM_DEPLIBS = $(GSSRPC_DEPLIBS) $(KDB5_DEPLIBS) $(GSSRPC_DEPLIBS)
227 KADMSRV_DEPLIBS = $(KADMSRV_DEPLIB) $(KDB5_DEPLIBS) $(KADM_COMM_DEPLIBS)
228 KADMCLNT_DEPLIBS = $(KADMCLNT_DEPLIB) $(KADM_COMM_DEPLIBS)
230 # Header file dependencies we might override someday.
231 # See util/depfix.sed.
232 COM_ERR_DEPS = $(BUILDTOP)/include/com_err.h
234 # LIBS gets substituted in... e.g. -lnsl -lsocket
236 # GEN_LIB is -lgen if needed for regexp
239 SS_LIB = $(TOPLIBD)/libss.a
243 KRB5_LIB = $(KRB5_LIB_@LIB_LINK_OPT@)
244 KRB5_LIB_libopt = -lkrb5
245 KRB5_LIB_frameworkopt = -framework Kerberos5
247 K5CRYPTO_LIB = $(K5CRYPTO_LIB_@LIB_LINK_OPT@)
248 K5CRYPTO_LIB_libopt = -lk5crypto
249 K5CRYPTO_LIB_frameworkopt = -framework Kerberos5Crypto
251 COM_ERR_LIB = $(COM_ERR_LIB_@LIB_LINK_OPT@)
252 COM_ERR_LIB_libopt = -lcom_err
253 COM_ERR_LIB_frameworkopt = -framework FooComErr
255 GSS_KRB5_LIB = $(GSS_KRB5_LIB_@LIB_LINK_OPT@)
256 GSS_KRB5_LIB_libopt = -lgssapi_krb5
257 GSS_KRB5_LIB_frameworkopt = -framework Krb5GSSAPILib
259 # KRB4_LIB is -lkrb4 if building --with-krb4
260 # needs fixing if ever used on Mac OS X!
261 KRB4_LIB = @KRB4_LIB@
263 # DES425_LIB is -ldes425 if building --with-krb4
264 # needs fixing if ever used on Mac OS X!
265 DES425_LIB = @DES425_LIB@
267 # KRB524_LIB is $(BUILDTOP)/krb524/libkrb524.a if building --with-krb4
268 # needs fixing if ever used on Mac OS X!
269 KRB524_LIB = @KRB524_LIB@
271 # HESIOD_LIBS is -lhesiod...
272 HESIOD_LIBS = @HESIOD_LIBS@
274 KRB5_BASE_LIBS = $(KRB5_LIB) $(K5CRYPTO_LIB) $(COM_ERR_LIB) $(GEN_LIB) $(LIBS)
275 KRB4COMPAT_LIBS = $(KRB4_LIB) $(DES425_LIB) $(KRB5_BASE_LIBS)
276 KDB5_LIBS = $(KDB5_LIB) $(DB_LIB)
277 GSS_LIBS = $(GSS_KRB5_LIB)
278 # needs fixing if ever used on Mac OS X!
279 GSSRPC_LIBS = -lgssrpc $(GSS_LIBS)
280 KADM_COMM_LIBS = $(GSSRPC_LIBS)
281 # need fixing if ever used on Mac OS X!
282 KADMSRV_LIBS = -lkadm5srv $(HESIOD_LIBS) $(KDB5_LIBS) $(KADM_COMM_LIBS)
283 KADMCLNT_LIBS = -lkadm5clnt $(KADM_COMM_LIBS)
285 # need fixing if ever used on Mac OS X!
289 # some more stuff for --with-krb4
290 KRB4_LIBPATH = @KRB4_LIBPATH@
291 KRB4_INCLUDES = @KRB4_INCLUDES@
294 # variables for --with-tcl=
295 TCL_LIBS = @TCL_LIBS@
296 TCL_LIBPATH = @TCL_LIBPATH@
297 TCL_RPATH = @TCL_RPATH@
298 TCL_INCLUDES = @TCL_INCLUDES@
302 ### /* these are invoked as $(...) foo.et, which works, but could be better */
303 COMPILE_ET= $(BUILDTOP)/util/et/compile_et -d $(SRCTOP)/util/et
305 .SUFFIXES: .h .c .et .ct
313 # rule to make object files
317 $(CC) $(ALL_CFLAGS) -c $<
319 # ss command table rules
321 MAKE_COMMANDS= $(BUILDTOP)/util/ss/mk_cmds