xref: /freebsd/crypto/krb5/src/lib/krb5/os/Makefile.in (revision f1c4c3daccbaf3820f0e2224de53df12fc952fcc)
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