4 BUILDTOP=$(REL)$(U)$(S)$(U)$(S)$(U)
5 RUN_SETUP = @KRB5_RUN_ENV@
6 PROG_LIBPATH=-L$(TOPLIBD)
7 PROG_RPATH=$(KRB5_LIBDIR)
9 ##DOS##BUILDTOP = ..\..\..
11 ##DOS##OBJFILE=..\$(OUTPRE)$(PREFIXDIR).lst
12 ##WIN16##LIBNAME=..\krb5.lib
100 OBJS= $(OUTPRE)addr_comp.$(OBJEXT) \
101 $(OUTPRE)addr_order.$(OBJEXT) \
102 $(OUTPRE)addr_srch.$(OBJEXT) \
103 $(OUTPRE)appdefault.$(OBJEXT) \
104 $(OUTPRE)auth_con.$(OBJEXT) \
105 $(OUTPRE)bld_pr_ext.$(OBJEXT) \
106 $(OUTPRE)bld_princ.$(OBJEXT) \
107 $(OUTPRE)chk_trans.$(OBJEXT) \
108 $(OUTPRE)chpw.$(OBJEXT) \
109 $(OUTPRE)conv_princ.$(OBJEXT) \
110 $(OUTPRE)copy_addrs.$(OBJEXT) \
111 $(OUTPRE)copy_auth.$(OBJEXT) \
112 $(OUTPRE)copy_athctr.$(OBJEXT) \
113 $(OUTPRE)copy_cksum.$(OBJEXT) \
114 $(OUTPRE)copy_creds.$(OBJEXT) \
115 $(OUTPRE)copy_data.$(OBJEXT) \
116 $(OUTPRE)copy_key.$(OBJEXT) \
117 $(OUTPRE)copy_princ.$(OBJEXT) \
118 $(OUTPRE)copy_tick.$(OBJEXT) \
119 $(OUTPRE)cp_key_cnt.$(OBJEXT) \
120 $(OUTPRE)decode_kdc.$(OBJEXT) \
121 $(OUTPRE)decrypt_tk.$(OBJEXT) \
122 $(OUTPRE)deltat.$(OBJEXT) \
123 $(OUTPRE)enc_helper.$(OBJEXT) \
124 $(OUTPRE)encode_kdc.$(OBJEXT) \
125 $(OUTPRE)encrypt_tk.$(OBJEXT) \
126 $(OUTPRE)free_rtree.$(OBJEXT) \
127 $(OUTPRE)fwd_tgt.$(OBJEXT) \
128 $(OUTPRE)gc_frm_kdc.$(OBJEXT) \
129 $(OUTPRE)gc_via_tkt.$(OBJEXT) \
130 $(OUTPRE)gen_seqnum.$(OBJEXT) \
131 $(OUTPRE)gen_subkey.$(OBJEXT) \
132 $(OUTPRE)get_creds.$(OBJEXT) \
133 $(OUTPRE)get_in_tkt.$(OBJEXT) \
134 $(OUTPRE)gic_keytab.$(OBJEXT) \
135 $(OUTPRE)gic_opt.$(OBJEXT) \
136 $(OUTPRE)gic_pwd.$(OBJEXT) \
137 $(OUTPRE)in_tkt_ktb.$(OBJEXT) \
138 $(OUTPRE)in_tkt_pwd.$(OBJEXT) \
139 $(OUTPRE)in_tkt_sky.$(OBJEXT) \
140 $(OUTPRE)init_ctx.$(OBJEXT) \
141 $(OUTPRE)kdc_rep_dc.$(OBJEXT) \
142 $(OUTPRE)kfree.$(OBJEXT) \
143 $(OUTPRE)mk_cred.$(OBJEXT) \
144 $(OUTPRE)mk_error.$(OBJEXT) \
145 $(OUTPRE)mk_priv.$(OBJEXT) \
146 $(OUTPRE)mk_rep.$(OBJEXT) \
147 $(OUTPRE)mk_req.$(OBJEXT) \
148 $(OUTPRE)mk_req_ext.$(OBJEXT) \
149 $(OUTPRE)mk_safe.$(OBJEXT) \
150 $(OUTPRE)parse.$(OBJEXT) \
151 $(OUTPRE)pr_to_salt.$(OBJEXT) \
152 $(OUTPRE)preauth.$(OBJEXT) \
153 $(OUTPRE)preauth2.$(OBJEXT) \
154 $(OUTPRE)princ_comp.$(OBJEXT) \
155 $(OUTPRE)rd_cred.$(OBJEXT) \
156 $(OUTPRE)rd_error.$(OBJEXT) \
157 $(OUTPRE)rd_priv.$(OBJEXT) \
158 $(OUTPRE)rd_rep.$(OBJEXT) \
159 $(OUTPRE)rd_req.$(OBJEXT) \
160 $(OUTPRE)rd_req_dec.$(OBJEXT) \
161 $(OUTPRE)rd_safe.$(OBJEXT) \
162 $(OUTPRE)recvauth.$(OBJEXT) \
163 $(OUTPRE)sendauth.$(OBJEXT) \
164 $(OUTPRE)send_tgs.$(OBJEXT) \
165 $(OUTPRE)ser_actx.$(OBJEXT) \
166 $(OUTPRE)ser_adata.$(OBJEXT) \
167 $(OUTPRE)ser_addr.$(OBJEXT) \
168 $(OUTPRE)ser_auth.$(OBJEXT) \
169 $(OUTPRE)ser_cksum.$(OBJEXT) \
170 $(OUTPRE)ser_ctx.$(OBJEXT) \
171 $(OUTPRE)ser_eblk.$(OBJEXT) \
172 $(OUTPRE)ser_key.$(OBJEXT) \
173 $(OUTPRE)ser_princ.$(OBJEXT) \
174 $(OUTPRE)serialize.$(OBJEXT) \
175 $(OUTPRE)set_realm.$(OBJEXT) \
176 $(OUTPRE)srv_rcache.$(OBJEXT) \
177 $(OUTPRE)str_conv.$(OBJEXT) \
178 $(OUTPRE)tgtname.$(OBJEXT) \
179 $(OUTPRE)unparse.$(OBJEXT) \
180 $(OUTPRE)valid_times.$(OBJEXT) \
181 $(OUTPRE)vfy_increds.$(OBJEXT) \
182 $(OUTPRE)vic_opt.$(OBJEXT) \
183 $(OUTPRE)walk_rtree.$(OBJEXT)
185 SRCS= $(srcdir)/addr_comp.c \
186 $(srcdir)/addr_order.c \
187 $(srcdir)/addr_srch.c \
188 $(srcdir)/appdefault.c \
189 $(srcdir)/auth_con.c \
190 $(srcdir)/bld_pr_ext.c \
191 $(srcdir)/bld_princ.c \
193 $(srcdir)/chk_trans.c \
195 $(srcdir)/conv_princ.c \
196 $(srcdir)/copy_addrs.c \
197 $(srcdir)/copy_auth.c \
198 $(srcdir)/copy_athctr.c \
199 $(srcdir)/copy_cksum.c \
200 $(srcdir)/copy_creds.c \
201 $(srcdir)/copy_data.c \
202 $(srcdir)/copy_key.c \
203 $(srcdir)/copy_princ.c \
204 $(srcdir)/copy_tick.c \
205 $(srcdir)/cp_key_cnt.c \
206 $(srcdir)/decode_kdc.c \
207 $(srcdir)/decrypt_tk.c \
209 $(srcdir)/enc_helper.c \
210 $(srcdir)/encode_kdc.c \
211 $(srcdir)/encrypt_tk.c \
212 $(srcdir)/free_rtree.c \
213 $(srcdir)/fwd_tgt.c \
214 $(srcdir)/gc_frm_kdc.c \
215 $(srcdir)/gc_via_tkt.c \
216 $(srcdir)/gen_seqnum.c \
217 $(srcdir)/gen_subkey.c \
218 $(srcdir)/get_creds.c \
219 $(srcdir)/get_in_tkt.c \
220 $(srcdir)/gic_keytab.c \
221 $(srcdir)/gic_opt.c \
222 $(srcdir)/gic_pwd.c \
223 $(srcdir)/in_tkt_ktb.c \
224 $(srcdir)/in_tkt_pwd.c \
225 $(srcdir)/in_tkt_sky.c \
226 $(srcdir)/init_ctx.c \
227 $(srcdir)/kdc_rep_dc.c \
229 $(srcdir)/mk_cred.c \
230 $(srcdir)/mk_error.c \
231 $(srcdir)/mk_priv.c \
234 $(srcdir)/mk_req_ext.c \
235 $(srcdir)/mk_safe.c \
237 $(srcdir)/pr_to_salt.c \
238 $(srcdir)/preauth.c \
239 $(srcdir)/preauth2.c \
240 $(srcdir)/princ_comp.c \
241 $(srcdir)/rd_cred.c \
242 $(srcdir)/rd_error.c \
243 $(srcdir)/rd_priv.c \
246 $(srcdir)/rd_req_dec.c \
247 $(srcdir)/rd_safe.c \
248 $(srcdir)/recvauth.c \
249 $(srcdir)/sendauth.c \
250 $(srcdir)/send_tgs.c \
251 $(srcdir)/ser_actx.c \
252 $(srcdir)/ser_adata.c \
253 $(srcdir)/ser_addr.c \
254 $(srcdir)/ser_auth.c \
255 $(srcdir)/ser_cksum.c \
256 $(srcdir)/ser_ctx.c \
257 $(srcdir)/ser_eblk.c \
258 $(srcdir)/ser_key.c \
259 $(srcdir)/ser_princ.c \
260 $(srcdir)/serialize.c \
261 $(srcdir)/set_realm.c \
262 $(srcdir)/srv_rcache.c \
263 $(srcdir)/str_conv.c \
264 $(srcdir)/tgtname.c \
265 $(srcdir)/unparse.c \
266 $(srcdir)/valid_times.c \
267 $(srcdir)/vfy_increds.c \
268 $(srcdir)/vic_opt.c \
269 $(srcdir)/walk_rtree.c
271 # Someday, when we have a "maintainer mode", do this right:
273 BISONFLAGS=-v # -v -> .output; -d -> .h
274 $(srcdir)/deltat.c : # x-deltat.y
275 $(BISON) $(BISONFLAGS) -o $(srcdir)/deltat.c $(srcdir)/x-deltat.y
277 ##DOS##LIBOBJS = $(OBJS)
279 all-unix:: all-libobjs
280 clean-unix:: clean-libobjs
282 COMERRLIB=$(TOPLIBD)/libcom_err.a
284 T_WALK_RTREE_OBJS= t_walk_rtree.o walk_rtree.o tgtname.o unparse.o \
285 free_rtree.o bld_pr_ext.o
287 T_KERB_OBJS= t_kerb.o conv_princ.o unparse.o set_realm.o str_conv.o
289 T_SER_OBJS= t_ser.o ser_actx.o ser_adata.o ser_addr.o ser_auth.o ser_cksum.o \
290 ser_ctx.o ser_eblk.o ser_key.o ser_princ.o serialize.o
292 T_DELTAT_OBJS= t_deltat.o deltat.o
294 t_walk_rtree: $(T_WALK_RTREE_OBJS) $(KRB5_BASE_DEPLIBS)
295 $(CC_LINK) -o t_walk_rtree $(T_WALK_RTREE_OBJS) $(KRB5_BASE_LIBS)
297 t_kerb: $(T_KERB_OBJS) $(KRB5_BASE_DEPLIBS)
298 $(CC_LINK) -o t_kerb $(T_KERB_OBJS) $(KRB5_BASE_LIBS)
300 t_ser: $(T_SER_OBJS) $(KDB5_DEPLIBS) $(KRB5_BASE_DEPLIBS)
301 $(CC_LINK) -o t_ser $(T_SER_OBJS) \
302 $(KDB5_LIBS) $(KRB5_BASE_LIBS)
304 t_deltat : $(T_DELTAT_OBJS)
305 $(CC_LINK) -o t_deltat $(T_DELTAT_OBJS)
307 TEST_PROGS= t_walk_rtree t_kerb t_ser t_deltat
309 check-unix:: $(TEST_PROGS)
310 KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
311 $(RUN_SETUP) ./t_kerb \
313 parse_name tytso@SHAZAAM \
314 parse_name tytso/root@VEGGIE.COM \
315 parse_name tytso/tuber/carrot@VEGGIE.COM \
316 parse_name tytso/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t \
317 parse_name tytso/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t@FOO \
318 parse_name tytso\\\\0/\\0@B\\n\\t\\\\GAG \
319 parse_name tytso/\\n/\\b\\t@B\\0hacky-test \
320 parse_name \\/slash/\\@atsign/octa\\/thorpe@\\/slash\\@at\\/sign \
321 425_conv_principal rcmd e40-po ATHENA.MIT.EDU \
322 425_conv_principal rcmd mit ATHENA.MIT.EDU \
323 425_conv_principal rcmd lithium ATHENA.MIT.EDU \
324 425_conv_principal rcmd tweedledumb CYGNUS.COM \
325 425_conv_principal rcmd uunet UU.NET \
326 425_conv_principal zephyr zephyr ATHENA.MIT.EDU \
327 425_conv_principal kadmin ATHENA.MIT.EDU ATHENA.MIT.EDU \
328 524_conv_principal host/e40-po.mit.edu@ATHENA.MIT.EDU \
329 524_conv_principal host/foobar.stanford.edu@stanford.edu \
330 set_realm marc@MIT.EDU CYGNUS.COM \
332 cmp test.out $(srcdir)/t_ref_kerb.out
334 KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
339 $(RM) $(OUTPRE)t_walk_rtree$(EXEEXT) $(OUTPRE)t_walk_rtree.$(OBJEXT) \
340 $(OUTPRE)t_kerb$(EXEEXT) $(OUTPRE)t_kerb.$(OBJEXT) \
341 $(OUTPRE)t_ser$(EXEEXT) $(OUTPRE)t_ser.$(OBJEXT) \
342 $(OUTPRE)t_deltat$(EXEEXT) $(OUTPRE)t_deltat.$(OBJEXT)