1mydir=lib$(S)krb5$(S)os 2BUILDTOP=$(REL)..$(S)..$(S).. 3DEFINES=-DLIBDIR=\"$(KRB5_LIBDIR)\" -DBINDIR=\"$(CLIENT_BINDIR)\" \ 4 -DSBINDIR=\"$(ADMIN_BINDIR)\" 5 6# Like RUN_TEST, but use td_krb5.conf from this directory. 7RUN_TEST_LOCAL_CONF=$(RUN_SETUP) KRB5_CONFIG=$(srcdir)/td_krb5.conf LC_ALL=C \ 8 $(VALGRIND) 9 10##DOS##BUILDTOP = ..\..\.. 11##DOS##PREFIXDIR=os 12##DOS##OBJFILE=..\$(OUTPRE)$(PREFIXDIR).lst 13 14STLIBOBJS= \ 15 accessor.o \ 16 addr.o \ 17 c_ustime.o \ 18 ccdefname.o \ 19 changepw.o \ 20 dnsglue.o \ 21 dnssrv.o \ 22 expand_path.o \ 23 full_ipadr.o \ 24 gen_port.o \ 25 genaddrs.o \ 26 gen_rname.o \ 27 hostaddr.o \ 28 hostrealm.o \ 29 hostrealm_dns.o \ 30 hostrealm_domain.o \ 31 hostrealm_profile.o \ 32 hostrealm_registry.o \ 33 init_os_ctx.o \ 34 krbfileio.o \ 35 ktdefname.o \ 36 mk_faddr.o \ 37 localaddr.o \ 38 localauth.o \ 39 localauth_an2ln.o \ 40 localauth_k5login.o \ 41 localauth_names.o \ 42 localauth_rule.o \ 43 locate_kdc.o \ 44 lock_file.o \ 45 net_read.o \ 46 net_write.o \ 47 port2ip.o \ 48 prompter.o \ 49 read_msg.o \ 50 read_pwd.o \ 51 realm_dom.o \ 52 sendto_kdc.o \ 53 sn2princ.o \ 54 thread_safe.o \ 55 timeofday.o \ 56 toffset.o \ 57 trace.o \ 58 unlck_file.o \ 59 ustime.o \ 60 write_msg.o 61 62OBJS= \ 63 $(OUTPRE)accessor.$(OBJEXT) \ 64 $(OUTPRE)addr.$(OBJEXT) \ 65 $(OUTPRE)c_ustime.$(OBJEXT) \ 66 $(OUTPRE)ccdefname.$(OBJEXT) \ 67 $(OUTPRE)changepw.$(OBJEXT) \ 68 $(OUTPRE)dnsglue.$(OBJEXT) \ 69 $(OUTPRE)dnssrv.$(OBJEXT) \ 70 $(OUTPRE)expand_path.$(OBJEXT) \ 71 $(OUTPRE)full_ipadr.$(OBJEXT) \ 72 $(OUTPRE)gen_port.$(OBJEXT) \ 73 $(OUTPRE)genaddrs.$(OBJEXT) \ 74 $(OUTPRE)gen_rname.$(OBJEXT) \ 75 $(OUTPRE)hostaddr.$(OBJEXT) \ 76 $(OUTPRE)hostrealm.$(OBJEXT) \ 77 $(OUTPRE)hostrealm_dns.$(OBJEXT) \ 78 $(OUTPRE)hostrealm_domain.$(OBJEXT) \ 79 $(OUTPRE)hostrealm_profile.$(OBJEXT) \ 80 $(OUTPRE)hostrealm_registry.$(OBJEXT) \ 81 $(OUTPRE)init_os_ctx.$(OBJEXT) \ 82 $(OUTPRE)krbfileio.$(OBJEXT) \ 83 $(OUTPRE)ktdefname.$(OBJEXT) \ 84 $(OUTPRE)mk_faddr.$(OBJEXT) \ 85 $(OUTPRE)localaddr.$(OBJEXT) \ 86 $(OUTPRE)localauth.$(OBJEXT) \ 87 $(OUTPRE)localauth_an2ln.$(OBJEXT) \ 88 $(OUTPRE)localauth_k5login.$(OBJEXT) \ 89 $(OUTPRE)localauth_names.$(OBJEXT) \ 90 $(OUTPRE)localauth_rule.$(OBJEXT) \ 91 $(OUTPRE)locate_kdc.$(OBJEXT) \ 92 $(OUTPRE)lock_file.$(OBJEXT) \ 93 $(OUTPRE)net_read.$(OBJEXT) \ 94 $(OUTPRE)net_write.$(OBJEXT) \ 95 $(OUTPRE)port2ip.$(OBJEXT) \ 96 $(OUTPRE)prompter.$(OBJEXT) \ 97 $(OUTPRE)read_msg.$(OBJEXT) \ 98 $(OUTPRE)read_pwd.$(OBJEXT) \ 99 $(OUTPRE)realm_dom.$(OBJEXT) \ 100 $(OUTPRE)sendto_kdc.$(OBJEXT) \ 101 $(OUTPRE)sn2princ.$(OBJEXT) \ 102 $(OUTPRE)thread_safe.$(OBJEXT) \ 103 $(OUTPRE)timeofday.$(OBJEXT) \ 104 $(OUTPRE)toffset.$(OBJEXT) \ 105 $(OUTPRE)trace.$(OBJEXT) \ 106 $(OUTPRE)unlck_file.$(OBJEXT) \ 107 $(OUTPRE)ustime.$(OBJEXT) \ 108 $(OUTPRE)write_msg.$(OBJEXT) 109 110SRCS= \ 111 $(srcdir)/accessor.c \ 112 $(srcdir)/addr.c \ 113 $(srcdir)/c_ustime.c \ 114 $(srcdir)/ccdefname.c \ 115 $(srcdir)/changepw.c \ 116 $(srcdir)/dnsglue.c \ 117 $(srcdir)/dnssrv.c \ 118 $(srcdir)/expand_path.c \ 119 $(srcdir)/full_ipadr.c \ 120 $(srcdir)/gen_port.c \ 121 $(srcdir)/genaddrs.c \ 122 $(srcdir)/gen_rname.c \ 123 $(srcdir)/hostaddr.c \ 124 $(srcdir)/hostrealm.c \ 125 $(srcdir)/hostrealm_dns.c \ 126 $(srcdir)/hostrealm_domain.c \ 127 $(srcdir)/hostrealm_profile.c \ 128 $(srcdir)/hostrealm_registry.c \ 129 $(srcdir)/init_os_ctx.c \ 130 $(srcdir)/krbfileio.c \ 131 $(srcdir)/ktdefname.c \ 132 $(srcdir)/mk_faddr.c \ 133 $(srcdir)/localaddr.c \ 134 $(srcdir)/localauth.c \ 135 $(srcdir)/localauth_an2ln.c \ 136 $(srcdir)/localauth_k5login.c \ 137 $(srcdir)/localauth_names.c \ 138 $(srcdir)/localauth_rule.c \ 139 $(srcdir)/locate_kdc.c \ 140 $(srcdir)/lock_file.c \ 141 $(srcdir)/net_read.c \ 142 $(srcdir)/net_write.c \ 143 $(srcdir)/prompter.c \ 144 $(srcdir)/read_msg.c \ 145 $(srcdir)/read_pwd.c \ 146 $(srcdir)/realm_dom.c \ 147 $(srcdir)/port2ip.c \ 148 $(srcdir)/sendto_kdc.c \ 149 $(srcdir)/sn2princ.c \ 150 $(srcdir)/thread_safe.c \ 151 $(srcdir)/timeofday.c \ 152 $(srcdir)/toffset.c \ 153 $(srcdir)/trace.c \ 154 $(srcdir)/unlck_file.c \ 155 $(srcdir)/ustime.c \ 156 $(srcdir)/write_msg.c 157 158EXTRADEPSRCS = \ 159 t_ctxprf.c t_expand_path.c t_gifconf.c t_locate_kdc.c t_std_conf.c \ 160 t_trace.c 161 162##DOS##LIBOBJS = $(OBJS) 163 164all-unix: all-libobjs 165clean-unix:: clean-libobjs 166 167shared: 168 mkdir shared 169 170TEST_PROGS= t_std_conf t_locate_kdc t_trace t_expand_path t_ctxprf 171 172T_STD_CONF_OBJS= t_std_conf.o 173 174T_TRACE_OBJS = t_trace.o 175 176t_std_conf: $(T_STD_CONF_OBJS) $(KRB5_BASE_DEPLIBS) 177 $(CC_LINK) -o t_std_conf $(T_STD_CONF_OBJS) $(KRB5_BASE_LIBS) 178 179t_localaddr: localaddr.c 180 $(CC_LINK) $(ALL_CFLAGS) -DTEST -o t_localaddr $(srcdir)/localaddr.c $(KRB5_BASE_LIBS) $(LIBS) 181 182t_locate_kdc: t_locate_kdc.o 183 $(CC_LINK) $(ALL_CFLAGS) -o t_locate_kdc t_locate_kdc.o \ 184 $(KRB5_BASE_LIBS) 185t_locate_kdc.o: t_locate_kdc.c locate_kdc.c dnssrv.c dnsglue.c 186$(OUTPRE)t_locate_kdc.exe: $(OUTPRE)t_locate_kdc.obj \ 187 $(KLIB) $(PLIB) $(CLIB) $(SLIB) 188 link $(EXE_LINKOPTS) -out:$@ $** ws2_32.lib 189 190t_trace: $(T_TRACE_OBJS) $(KRB5_BASE_DEPLIBS) 191 $(CC_LINK) -o t_trace $(T_TRACE_OBJS) $(KRB5_BASE_LIBS) 192 193t_expand_path: t_expand_path.o $(KRB5_BASE_DEPLIBS) 194 $(CC_LINK) -o $@ t_expand_path.o $(KRB5_BASE_LIBS) 195 196t_ctxprf: t_ctxprf.o $(KRB5_BASE_DEPLIBS) 197 $(CC_LINK) -o $@ t_ctxprf.o $(KRB5_BASE_LIBS) 198 199LCLINT=lclint 200LCLINTOPTS= -warnposix \ 201 -usedef +charintliteral +ignoresigns -predboolint +boolint \ 202 -exportlocal -retvalint \ 203 +mod-uncon +modinternalstrict +modfilesys 204lclint-localaddr: localaddr.c 205 $(LCLINT) $(LCLINTOPTS) $(CPPFLAGS) $(LOCALINCLUDES) $(DEFS) \ 206 -DTEST $(srcdir)/localaddr.c 207 208check-unix: check-unix-stdconf check-unix-locate check-unix-trace \ 209 check-unix-expand check-unix-uri check-unix-ctxprf 210 211check-unix-stdconf: t_std_conf 212 $(RUN_TEST_LOCAL_CONF) ./t_std_conf -d -s NEW.DEFAULT.REALM -d \ 213 -D DEFAULT_REALM.TST -r bad.idea -r itar.bad.idea \ 214 -r really.BAD.IDEA. -r clipper.bad.idea -r KeYEsCrOW.BaD.IDea \ 215 -r pgp.good.idea -r no_domain > test.out 216 cmp test.out $(srcdir)/ref_std_conf.out 217 $(RM) test.out 218 219# The following can be overriden on the make command line if needed: 220LOCREALM = ATHENA.MIT.EDU 221SRVNAME = _kerberos._udp.athena.mit.edu. 222DIGPAT = '^_kerberos.*srv' 223NSPAT = '^_kerberos.*service' 224DIG = @DIG@ 225NSLOOKUP = @NSLOOKUP@ 226 227check-unix-locate: t_locate_kdc 228 if [ "$(OFFLINE)" = no ]; then \ 229 if $(DIG) $(SRVNAME) srv | grep -i $(DIGPAT) || \ 230 $(NSLOOKUP) -q=srv $(SRVNAME) | grep -i $(NSPAT); then \ 231 $(RUN_TEST) ./t_locate_kdc $(LOCREALM); \ 232 else \ 233 echo '*** WARNING: skipped t_locate_kdc test: known DNS name not found'; \ 234 echo 'Skipped t_locate_kdc test: known DNS name not found' >> $(SKIPTESTS); \ 235 fi; \ 236 else \ 237 echo '*** WARNING: skipped t_locate_kdc test: OFFLINE'; \ 238 echo 'Skipped t_locate_kdc test: OFFLINE' >> $(SKIPTESTS); \ 239 fi 240 241ASAN = @ASAN@ 242check-unix-uri: t_locate_kdc 243 if [ $(HAVE_RESOLV_WRAPPER) = 0 ]; then \ 244 echo '*** WARNING: skipped t_discover_uri.py due to not using resolv_wrapper'; \ 245 echo 'Skipped URI discovery tests: resolv_wrapper 1.1.5 not found' >> $(SKIPTESTS); \ 246 elif [ $(ASAN) = yes ]; then \ 247 echo '*** Skipping URI discovery tests: resolv_wrapper is incompatible with asan'; \ 248 echo 'Skipped URI discovery tests: incompatible with asan' >> $(SKIPTESTS); \ 249 else \ 250 $(RUNPYTEST) $(srcdir)/t_discover_uri.py $(PYTESTFLAGS); \ 251 fi 252 253check-unix-trace: t_trace 254 rm -f t_trace.out 255 KRB5_TRACE=t_trace.out ; export KRB5_TRACE ; \ 256 $(RUN_TEST) ./t_trace 257 sed -e 's/^[^:]*: //' t_trace.out | cmp - $(srcdir)/t_trace.ref 258 rm -f t_trace.out 259 260check-unix-expand: t_expand_path 261 $(RUN_TEST) ./t_expand_path '%{null}' '' 262 $(RUN_TEST) ./t_expand_path ' %{BINDIR}%{LIBDIR} ' \ 263 ' $(CLIENT_BINDIR)$(KRB5_LIBDIR) ' 264 $(RUN_TEST) ./t_expand_path \ 265 'the %{animal}%{s} on the %{place}%{s}' \ 266 'the frogs on the pads' 267 268check-unix-ctxprf: t_ctxprf 269 $(RUNPYTEST) $(srcdir)/t_ctxprf.py $(PYTESTFLAGS) 270 271clean: 272 $(RM) $(TEST_PROGS) test.out t_std_conf.o t_locate_kdc.o t_trace.o 273 $(RM) t_expand_path.o t_ctxprf.o 274 275@libobj_frag@ 276 277