0737a2e533236da12e40c65ea5a012093e67e415
[idra/krb5.git] / src / lib / krb5 / krb / Makefile.in
1 mydir=lib/krb5/krb
2 BUILDTOP=$(REL)..$(S)..$(S)..
3 RUN_SETUP = @KRB5_RUN_ENV@
4 PROG_LIBPATH=-L$(TOPLIBD)
5 PROG_RPATH=$(KRB5_LIBDIR)
6 LOCALINCLUDES = -I$(srcdir)/../os -I$(top_srcdir)
7 DEFS=-DLIBDIR=\"$(KRB5_LIBDIR)\"
8
9 ##DOS##BUILDTOP = ..\..\..
10 ##DOS##PREFIXDIR=krb
11 ##DOS##OBJFILE=..\$(OUTPRE)$(PREFIXDIR).lst
12
13 STLIBOBJS= \
14         addr_comp.o     \
15         addr_order.o    \
16         addr_srch.o     \
17         allow_weak.o    \
18         appdefault.o    \
19         auth_con.o      \
20         authdata.o      \
21         authdata_exp.o  \
22         authdata_enc.o  \
23         authdata_dec.o  \
24         bld_pr_ext.o    \
25         bld_princ.o     \
26         chk_trans.o     \
27         chpw.o          \
28         conv_creds.o    \
29         conv_princ.o    \
30         copy_addrs.o    \
31         copy_auth.o     \
32         copy_athctr.o   \
33         copy_cksum.o    \
34         copy_creds.o    \
35         copy_data.o     \
36         copy_key.o      \
37         copy_princ.o    \
38         copy_tick.o     \
39         cp_key_cnt.o    \
40         decode_kdc.o    \
41         decrypt_tk.o    \
42         deltat.o        \
43         enc_helper.o    \
44         enc_keyhelper.o \
45         encode_kdc.o    \
46         encrypt_tk.o    \
47         etype_list.o    \
48         fast.o \
49         fwd_tgt.o       \
50         gc_via_tkt.o    \
51         gen_seqnum.o    \
52         gen_subkey.o    \
53         gen_save_subkey.o       \
54         get_creds.o     \
55         get_in_tkt.o    \
56         gic_keytab.o    \
57         gic_opt.o       \
58         gic_pwd.o       \
59         in_tkt_sky.o    \
60         init_ctx.o      \
61         copy_ctx.o      \
62         init_keyblock.o \
63         kdc_rep_dc.o    \
64         kerrs.o         \
65         kfree.o         \
66         libdef_parse.o  \
67         mk_cred.o       \
68         mk_error.o      \
69         mk_priv.o       \
70         mk_rep.o        \
71         mk_req.o        \
72         mk_req_ext.o    \
73         mk_safe.o       \
74         pac.o           \
75         pac_sign.o      \
76         parse.o         \
77         plugin.o        \
78         pr_to_salt.o    \
79         preauth2.o      \
80         gic_opt_set_pa.o        \
81         princ_comp.o    \
82         rd_cred.o       \
83         rd_error.o      \
84         rd_priv.o       \
85         rd_rep.o        \
86         rd_req.o        \
87         rd_req_dec.o    \
88         rd_safe.o       \
89         recvauth.o      \
90         s4u_authdata.o  \
91         s4u_creds.o     \
92         sendauth.o      \
93         send_tgs.o      \
94         ser_actx.o      \
95         ser_adata.o     \
96         ser_addr.o      \
97         ser_auth.o      \
98         ser_cksum.o     \
99         ser_ctx.o       \
100         ser_key.o       \
101         ser_princ.o     \
102         serialize.o     \
103         set_realm.o     \
104         srv_dec_tkt.o   \
105         srv_rcache.o    \
106         str_conv.o      \
107         tgtname.o       \
108         unparse.o       \
109         val_renew.o     \
110         valid_times.o   \
111         vfy_increds.o   \
112         vic_opt.o       \
113         walk_rtree.o
114
115 OBJS=   $(OUTPRE)addr_comp.$(OBJEXT)    \
116         $(OUTPRE)addr_order.$(OBJEXT)   \
117         $(OUTPRE)addr_srch.$(OBJEXT)    \
118         $(OUTPRE)appdefault.$(OBJEXT)   \
119         $(OUTPRE)auth_con.$(OBJEXT)     \
120         $(OUTPRE)authdata.$(OBJEXT)     \
121         $(OUTPRE)authdata_exp.$(OBJEXT) \
122         $(OUTPRE)authdata_enc.$(OBJEXT) \
123         $(OUTPRE)authdata_dec.$(OBJEXT) \
124         $(OUTPRE)bld_pr_ext.$(OBJEXT)   \
125         $(OUTPRE)bld_princ.$(OBJEXT)    \
126         $(OUTPRE)chk_trans.$(OBJEXT)    \
127         $(OUTPRE)chpw.$(OBJEXT)         \
128         $(OUTPRE)conv_creds.$(OBJEXT)   \
129         $(OUTPRE)conv_princ.$(OBJEXT)   \
130         $(OUTPRE)copy_addrs.$(OBJEXT)   \
131         $(OUTPRE)copy_auth.$(OBJEXT)    \
132         $(OUTPRE)copy_athctr.$(OBJEXT)  \
133         $(OUTPRE)copy_cksum.$(OBJEXT)    \
134         $(OUTPRE)copy_creds.$(OBJEXT)   \
135         $(OUTPRE)copy_data.$(OBJEXT)    \
136         $(OUTPRE)copy_key.$(OBJEXT)     \
137         $(OUTPRE)copy_princ.$(OBJEXT)   \
138         $(OUTPRE)copy_tick.$(OBJEXT)    \
139         $(OUTPRE)cp_key_cnt.$(OBJEXT)   \
140         $(OUTPRE)decode_kdc.$(OBJEXT)   \
141         $(OUTPRE)decrypt_tk.$(OBJEXT)   \
142         $(OUTPRE)deltat.$(OBJEXT)       \
143         $(OUTPRE)enc_helper.$(OBJEXT)   \
144         $(OUTPRE)enc_keyhelper.$(OBJEXT)        \
145         $(OUTPRE)encode_kdc.$(OBJEXT)   \
146         $(OUTPRE)encrypt_tk.$(OBJEXT)   \
147         $(OUTPRE)etype_list.$(OBJEXT)   \
148         $(OUTPRE)fast.$(OBJEXT) \
149         $(OUTPRE)fwd_tgt.$(OBJEXT)      \
150         $(OUTPRE)gc_via_tkt.$(OBJEXT)   \
151         $(OUTPRE)gen_seqnum.$(OBJEXT)   \
152         $(OUTPRE)gen_subkey.$(OBJEXT)   \
153         $(OUTPRE)gen_save_subkey.$(OBJEXT)      \
154         $(OUTPRE)get_creds.$(OBJEXT)    \
155         $(OUTPRE)get_in_tkt.$(OBJEXT)   \
156         $(OUTPRE)gic_keytab.$(OBJEXT)   \
157         $(OUTPRE)gic_opt.$(OBJEXT)      \
158         $(OUTPRE)gic_pwd.$(OBJEXT)      \
159         $(OUTPRE)in_tkt_sky.$(OBJEXT)   \
160         $(OUTPRE)init_ctx.$(OBJEXT)     \
161         $(OUTPRE)copy_ctx.$(OBJEXT)     \
162         $(OUTPRE)init_keyblock.$(OBJEXT) \
163         $(OUTPRE)kdc_rep_dc.$(OBJEXT)   \
164         $(OUTPRE)kerrs.$(OBJEXT)        \
165         $(OUTPRE)kfree.$(OBJEXT)        \
166         $(OUTPRE)libdef_parse.$(OBJEXT) \
167         $(OUTPRE)mk_cred.$(OBJEXT)      \
168         $(OUTPRE)mk_error.$(OBJEXT)     \
169         $(OUTPRE)mk_priv.$(OBJEXT)      \
170         $(OUTPRE)mk_rep.$(OBJEXT)       \
171         $(OUTPRE)mk_req.$(OBJEXT)       \
172         $(OUTPRE)mk_req_ext.$(OBJEXT)   \
173         $(OUTPRE)mk_safe.$(OBJEXT)      \
174         $(OUTPRE)pac.$(OBJEXT)          \
175         $(OUTPRE)pac_sign.$(OBJEXT)     \
176         $(OUTPRE)parse.$(OBJEXT)        \
177         $(OUTPRE)plugin.$(OBJEXT)       \
178         $(OUTPRE)pr_to_salt.$(OBJEXT)   \
179         $(OUTPRE)preauth2.$(OBJEXT)     \
180         $(OUTPRE)gic_opt_set_pa.$(OBJEXT)       \
181         $(OUTPRE)princ_comp.$(OBJEXT)   \
182         $(OUTPRE)rd_cred.$(OBJEXT)      \
183         $(OUTPRE)rd_error.$(OBJEXT)     \
184         $(OUTPRE)rd_priv.$(OBJEXT)      \
185         $(OUTPRE)rd_rep.$(OBJEXT)       \
186         $(OUTPRE)rd_req.$(OBJEXT)       \
187         $(OUTPRE)rd_req_dec.$(OBJEXT)   \
188         $(OUTPRE)rd_safe.$(OBJEXT)      \
189         $(OUTPRE)recvauth.$(OBJEXT)     \
190         $(OUTPRE)s4u_authdata.$(OBJEXT) \
191         $(OUTPRE)s4u_creds.$(OBJEXT)    \
192         $(OUTPRE)sendauth.$(OBJEXT)     \
193         $(OUTPRE)send_tgs.$(OBJEXT)     \
194         $(OUTPRE)ser_actx.$(OBJEXT)     \
195         $(OUTPRE)ser_adata.$(OBJEXT)    \
196         $(OUTPRE)ser_addr.$(OBJEXT)     \
197         $(OUTPRE)ser_auth.$(OBJEXT)     \
198         $(OUTPRE)ser_cksum.$(OBJEXT)    \
199         $(OUTPRE)ser_ctx.$(OBJEXT)      \
200         $(OUTPRE)ser_key.$(OBJEXT)      \
201         $(OUTPRE)ser_princ.$(OBJEXT)    \
202         $(OUTPRE)serialize.$(OBJEXT)    \
203         $(OUTPRE)set_realm.$(OBJEXT)    \
204         $(OUTPRE)srv_dec_tkt.$(OBJEXT)  \
205         $(OUTPRE)srv_rcache.$(OBJEXT)   \
206         $(OUTPRE)str_conv.$(OBJEXT)     \
207         $(OUTPRE)tgtname.$(OBJEXT)      \
208         $(OUTPRE)unparse.$(OBJEXT)      \
209         $(OUTPRE)val_renew.$(OBJEXT)    \
210         $(OUTPRE)valid_times.$(OBJEXT)  \
211         $(OUTPRE)vfy_increds.$(OBJEXT)  \
212         $(OUTPRE)vic_opt.$(OBJEXT)      \
213         $(OUTPRE)walk_rtree.$(OBJEXT)
214
215 SRCS=   $(srcdir)/addr_comp.c   \
216         $(srcdir)/addr_order.c  \
217         $(srcdir)/addr_srch.c   \
218         $(srcdir)/appdefault.c  \
219         $(srcdir)/auth_con.c    \
220         $(srcdir)/authdata.c    \
221         $(srcdir)/authdata_exp.c        \
222         $(srcdir)/authdata_enc.c        \
223         $(srcdir)/authdata_dec.c        \
224         $(srcdir)/bld_pr_ext.c  \
225         $(srcdir)/bld_princ.c   \
226         $(srcdir)/brand.c       \
227         $(srcdir)/chk_trans.c   \
228         $(srcdir)/chpw.c        \
229         $(srcdir)/conv_creds.c  \
230         $(srcdir)/conv_princ.c  \
231         $(srcdir)/copy_addrs.c  \
232         $(srcdir)/copy_auth.c   \
233         $(srcdir)/copy_athctr.c \
234         $(srcdir)/copy_cksum.c   \
235         $(srcdir)/copy_creds.c  \
236         $(srcdir)/copy_data.c   \
237         $(srcdir)/copy_key.c    \
238         $(srcdir)/copy_princ.c  \
239         $(srcdir)/copy_tick.c   \
240         $(srcdir)/cp_key_cnt.c  \
241         $(srcdir)/decode_kdc.c  \
242         $(srcdir)/decrypt_tk.c  \
243         $(srcdir)/deltat.c      \
244         $(srcdir)/enc_helper.c  \
245         $(srcdir)/enc_keyhelper.c       \
246         $(srcdir)/encode_kdc.c  \
247         $(srcdir)/encrypt_tk.c  \
248         $(srcdir)/etype_list.c  \
249         $(srcdir)/fast.c \
250         $(srcdir)/fwd_tgt.c     \
251         $(srcdir)/gc_via_tkt.c  \
252         $(srcdir)/gen_seqnum.c  \
253         $(srcdir)/gen_subkey.c  \
254         $(srcdir)/gen_save_subkey.c     \
255         $(srcdir)/get_creds.c   \
256         $(srcdir)/get_in_tkt.c  \
257         $(srcdir)/gic_keytab.c  \
258         $(srcdir)/gic_opt.c     \
259         $(srcdir)/gic_pwd.c     \
260         $(srcdir)/in_tkt_sky.c  \
261         $(srcdir)/init_ctx.c    \
262         $(srcdir)/copy_ctx.c    \
263         $(srcdir)/init_keyblock.c \
264         $(srcdir)/kdc_rep_dc.c  \
265         $(srcdir)/kerrs.c       \
266         $(srcdir)/kfree.c       \
267         $(srcdir)/libdef_parse.c \
268         $(srcdir)/mk_cred.c     \
269         $(srcdir)/mk_error.c    \
270         $(srcdir)/mk_priv.c     \
271         $(srcdir)/mk_rep.c      \
272         $(srcdir)/mk_req.c      \
273         $(srcdir)/mk_req_ext.c  \
274         $(srcdir)/mk_safe.c     \
275         $(srcdir)/pac.c         \
276         $(srcdir)/pac_sign.c    \
277         $(srcdir)/parse.c       \
278         $(srcdir)/plugin.c      \
279         $(srcdir)/pr_to_salt.c  \
280         $(srcdir)/preauth2.c    \
281         $(srcdir)/gic_opt_set_pa.c      \
282         $(srcdir)/princ_comp.c  \
283         $(srcdir)/rd_cred.c     \
284         $(srcdir)/rd_error.c    \
285         $(srcdir)/rd_priv.c     \
286         $(srcdir)/rd_rep.c      \
287         $(srcdir)/rd_req.c      \
288         $(srcdir)/rd_req_dec.c  \
289         $(srcdir)/rd_safe.c     \
290         $(srcdir)/recvauth.c    \
291         $(srcdir)/s4u_authdata.c\
292         $(srcdir)/s4u_creds.c   \
293         $(srcdir)/sendauth.c    \
294         $(srcdir)/send_tgs.c    \
295         $(srcdir)/ser_actx.c    \
296         $(srcdir)/ser_adata.c   \
297         $(srcdir)/ser_addr.c    \
298         $(srcdir)/ser_auth.c    \
299         $(srcdir)/ser_cksum.c   \
300         $(srcdir)/ser_ctx.c     \
301         $(srcdir)/ser_key.c     \
302         $(srcdir)/ser_princ.c   \
303         $(srcdir)/serialize.c   \
304         $(srcdir)/set_realm.c   \
305         $(srcdir)/srv_dec_tkt.c \
306         $(srcdir)/srv_rcache.c  \
307         $(srcdir)/str_conv.c    \
308         $(srcdir)/t_ad_fx_armor.c \
309         $(srcdir)/tgtname.c     \
310         $(srcdir)/unparse.c     \
311         $(srcdir)/val_renew.c   \
312         $(srcdir)/valid_times.c \
313         $(srcdir)/vfy_increds.c \
314         $(srcdir)/vic_opt.c     \
315         $(srcdir)/walk_rtree.c  \
316         $(srcdir)/t_walk_rtree.c \
317         $(srcdir)/t_kerb.c      \
318         $(srcdir)/t_ser.c       \
319         $(srcdir)/t_deltat.c    \
320         $(srcdir)/t_expand.c    \
321         $(srcdir)/t_pac.c       \
322         $(srcdir)/t_princ.c     \
323         $(srcdir)/t_etypes.c
324
325 # Someday, when we have a "maintainer mode", do this right:
326 BISON=bison
327 BISONFLAGS= # -v -> .output; -d -> .h
328 DELTAT_DEP=@MAINT@ x-deltat.y
329 ##WIN32##DELTAT_DEP=
330
331 $(srcdir)/deltat.c : $(DELTAT_DEP)
332         (cd $(srcdir) && $(BISON) $(BISONFLAGS) -o deltat.c x-deltat.y)
333
334 ##DOS##LIBOBJS = $(OBJS)
335
336 all-unix:: all-libobjs
337 clean-unix:: clean-libobjs
338
339 COMERRLIB=$(TOPLIBD)/libcom_err.a
340
341 T_WALK_RTREE_OBJS= t_walk_rtree.o walk_rtree.o tgtname.o unparse.o \
342         bld_pr_ext.o copy_data.o
343
344 T_KERB_OBJS= t_kerb.o conv_princ.o unparse.o set_realm.o str_conv.o
345
346 T_SER_OBJS= t_ser.o ser_actx.o ser_adata.o ser_addr.o ser_auth.o ser_cksum.o \
347         ser_ctx.o ser_key.o ser_princ.o serialize.o authdata.o pac.o \
348         pac_sign.o authdata_exp.o s4u_authdata.o copy_data.o etype_list.o
349
350 T_DELTAT_OBJS= t_deltat.o deltat.o
351
352 T_PAC_OBJS= t_pac.o pac.o pac_sign.o copy_data.o
353
354 T_PRINC_OBJS= t_princ.o parse.o unparse.o
355
356 T_ETYPES_OBJS= t_etypes.o init_ctx.o etype_list.o plugin.o
357
358 t_walk_rtree: $(T_WALK_RTREE_OBJS) $(KRB5_BASE_DEPLIBS)
359         $(CC_LINK) -o t_walk_rtree $(T_WALK_RTREE_OBJS) $(KRB5_BASE_LIBS)
360 t_ad_fx_armor: t_ad_fx_armor.o
361         $(CC_LINK) -o $@ t_ad_fx_armor.o $(KRB5_BASE_LIBS)
362
363 t_authdata: t_authdata.o $(KRB5_BASE_DEPLIBS)
364         $(CC_LINK) -o $@ t_authdata.o $(KRB5_BASE_LIBS)
365
366 t_kerb: $(T_KERB_OBJS) $(KRB5_BASE_DEPLIBS)
367         $(CC_LINK) -o t_kerb $(T_KERB_OBJS) $(KRB5_BASE_LIBS)
368
369 t_ser: $(T_SER_OBJS) $(KRB5_BASE_DEPLIBS)
370         $(CC_LINK) -o t_ser $(T_SER_OBJS) $(KRB5_BASE_LIBS) 
371
372 t_deltat : $(T_DELTAT_OBJS) $(SUPPORT_DEPLIB)
373         $(CC_LINK) -o t_deltat $(T_DELTAT_OBJS) $(SUPPORT_LIB)
374
375 T_EXPAND_OBJS=t_expand.o
376 t_expand.o : t_expand.c
377 t_expand : $(T_EXPAND_OBJS) $(KRB5_BASE_DEPLIBS)
378         $(CC_LINK) -o t_expand $(T_EXPAND_OBJS) $(KRB5_BASE_LIBS)
379
380 t_pac: $(T_PAC_OBJS) $(KRB5_BASE_DEPLIBS)
381         $(CC_LINK) -o t_pac $(T_PAC_OBJS) $(KRB5_BASE_LIBS)
382
383 t_princ: $(T_PRINC_OBJS) $(KRB5_BASE_DEPLIBS)
384         $(CC_LINK) -o t_princ $(T_PRINC_OBJS) $(KRB5_BASE_LIBS)
385
386 t_etypes: $(T_ETYPES_OBJS) $(KRB5_BASE_DEPLIBS)
387         $(CC_LINK) -o t_etypes $(T_ETYPES_OBJS) $(KRB5_BASE_LIBS)
388
389 t_expire_warn: t_expire_warn.o $(KRB5_BASE_DEPLIBS)
390         $(CC_LINK) -o $@ t_expire_warn.o $(KRB5_BASE_LIBS)
391
392 TEST_PROGS= t_walk_rtree t_kerb t_ser t_deltat t_expand t_authdata t_pac \
393         t_princ t_etypes
394
395 check-unix:: $(TEST_PROGS)
396         KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
397         $(RUN_SETUP) $(VALGRIND) ./t_kerb \
398                 parse_name tytso \
399                 parse_name tytso@SHAZAAM \
400                 parse_name tytso/root@VEGGIE.COM \
401                 parse_name tytso/tuber/carrot@VEGGIE.COM \
402                 parse_name tytso/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t \
403                 parse_name tytso/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t@FOO \
404                 parse_name tytso\\\\0/\\0@B\\n\\t\\\\GAG \
405                 parse_name tytso/\\n/\\b\\t@B\\0hacky-test \
406                 parse_name \\/slash/\\@atsign/octa\\/thorpe@\\/slash\\@at\\/sign \
407                 425_conv_principal rcmd e40-po ATHENA.MIT.EDU \
408                 425_conv_principal rcmd mit ATHENA.MIT.EDU \
409                 425_conv_principal rcmd lithium ATHENA.MIT.EDU \
410                 425_conv_principal rcmd tweedledumb CYGNUS.COM \
411                 425_conv_principal rcmd uunet UU.NET \
412                 425_conv_principal zephyr zephyr ATHENA.MIT.EDU \
413                 425_conv_principal kadmin ATHENA.MIT.EDU ATHENA.MIT.EDU \
414                 524_conv_principal host/e40-po.mit.edu@ATHENA.MIT.EDU \
415                 524_conv_principal host/foobar.stanford.edu@stanford.edu \
416                 set_realm marc@MIT.EDU CYGNUS.COM \
417                 > test.out
418         cmp test.out $(srcdir)/t_ref_kerb.out
419         $(RM) test.out
420         KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
421                 $(RUN_SETUP) $(VALGRIND) ./t_ser
422         $(RUN_SETUP) $(VALGRIND) ./t_deltat
423         $(RUN_SETUP) $(VALGRIND) sh $(srcdir)/transit-tests
424         KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
425                 $(RUN_SETUP) $(VALGRIND) sh $(srcdir)/walktree-tests
426         KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
427         $(RUN_SETUP) $(VALGRIND) ./t_authdata
428         $(RUN_SETUP) $(VALGRIND) ./t_pac
429         $(RUN_SETUP) $(VALGRIND) ./t_princ
430         $(RUN_SETUP) $(VALGRIND) ./t_etypes
431
432 check-pytests:: t_expire_warn
433         $(RUNPYTEST) $(srcdir)/t_expire_warn.py $(PYTESTFLAGS)
434
435 clean::
436         $(RM) $(OUTPRE)t_walk_rtree$(EXEEXT) $(OUTPRE)t_walk_rtree.$(OBJEXT) \
437                 $(OUTPRE)t_kerb$(EXEEXT) $(OUTPRE)t_kerb.$(OBJEXT)      \
438                 $(OUTPRE)t_ser$(EXEEXT) $(OUTPRE)t_ser.$(OBJEXT)        \
439                 $(OUTPRE)t_deltat$(EXEEXT) $(OUTPRE)t_deltat.$(OBJEXT) \
440                 $(OUTPRE)t_expand$(EXEEXT) $(OUTPRE)t_expand.$(OBJEXT)  \
441                 $(OUTPRE)t_etypes$(EXEEXT) $(OUTPRE)t_etypes.$(OBJEXT)  \
442                 $(OUTPRE)t_pac$(EXEEXT) $(OUTPRE)t_pac.$(OBJEXT)        \
443                 $(OUTPRE)t_princ$(EXEEXT) $(OUTPRE)t_princ.$(OBJEXT)    \
444         $(OUTPRE)t_authdata$(EXEEXT) $(OUTPRE)t_authdata.$(OBJEXT)
445
446 @libobj_frag@
447