1# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
2#
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, you can obtain one at https://mozilla.org/MPL/2.0/.
6#
7# See the COPYRIGHT file distributed with this work for additional
8# information regarding copyright ownership.
9
10srcdir =	@srcdir@
11VPATH =		@srcdir@
12top_srcdir =	@top_srcdir@
13
14VERSION=@BIND9_VERSION@
15
16@BIND9_MAKE_INCLUDES@
17
18CINCLUDES =	-I. -Iinclude ${DNS_INCLUDES} ${ISC_INCLUDES} \
19		@DST_OPENSSL_INC@ ${MAXMINDDB_CFLAGS}
20CDEFINES =	@CRYPTO@ -DTESTS="\"${top_builddir}/lib/dns/tests/\""
21
22ISCLIBS =	../../isc/libisc.@A@
23ISCDEPLIBS =	../../isc/libisc.@A@
24DNSLIBS =	../libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@
25DNSDEPLIBS =	../libdns.@A@
26
27LIBS =		@LIBS@ @CMOCKA_LIBS@
28CFLAGS =	@CFLAGS@ @CMOCKA_CFLAGS@
29
30OBJS =		dnstest.@O@
31SRCS =		acl_test.c \
32		db_test.c \
33		dbdiff_test.c \
34		dbiterator_test.c \
35		dh_test.c \
36		dispatch_test.c \
37		dnstap_test.c \
38		dst_test.c \
39		dnstest.c \
40		geoip_test.c \
41		gost_test.c \
42		keytable_test.c \
43		master_test.c \
44		name_test.c \
45		nsec3_test.c \
46		peer_test.c \
47		private_test.c \
48		rbt_test.c \
49		rbt_serialize_test.c \
50		rdata_test.c \
51		rdataset_test.c \
52		rdatasetstats_test.c \
53		resolver_test.c \
54		result_test.c \
55		rsa_test.c \
56		sigs_test.c \
57		time_test.c \
58		tsig_test.c \
59		update_test.c \
60		zonemgr_test.c \
61		zt_test.c
62
63SUBDIRS =
64TARGETS =	acl_test@EXEEXT@ \
65		db_test@EXEEXT@ \
66		dbdiff_test@EXEEXT@ \
67		dbiterator_test@EXEEXT@ \
68		dbversion_test@EXEEXT@ \
69		dh_test@EXEEXT@ \
70		dispatch_test@EXEEXT@ \
71		dnstap_test@EXEEXT@ \
72		dst_test@EXEEXT@ \
73		geoip_test@EXEEXT@ \
74		gost_test@EXEEXT@ \
75		keytable_test@EXEEXT@ \
76		master_test@EXEEXT@ \
77		name_test@EXEEXT@ \
78		nsec3_test@EXEEXT@ \
79		peer_test@EXEEXT@ \
80		private_test@EXEEXT@ \
81		rbt_test@EXEEXT@ \
82		rbt_serialize_test@EXEEXT@ \
83		rdata_test@EXEEXT@ \
84		rdataset_test@EXEEXT@ \
85		rdatasetstats_test@EXEEXT@ \
86		resolver_test@EXEEXT@ \
87		result_test@EXEEXT@ \
88		rsa_test@EXEEXT@ \
89		sigs_test@EXEEXT@ \
90		time_test@EXEEXT@ \
91		tsig_test@EXEEXT@ \
92		update_test@EXEEXT@ \
93		zonemgr_test@EXEEXT@ \
94		zt_test@EXEEXT@
95
96@BIND9_MAKE_RULES@
97
98acl_test@EXEEXT@: acl_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
99	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
100		${LDFLAGS} -o $@ acl_test.@O@ dnstest.@O@ ${DNSLIBS} \
101		${ISCLIBS} ${LIBS}
102
103db_test@EXEEXT@: db_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
104	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
105		${LDFLAGS} -o $@ db_test.@O@ dnstest.@O@ ${DNSLIBS} \
106		${ISCLIBS} ${LIBS}
107
108dbdiff_test@EXEEXT@: dbdiff_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
109	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
110		${LDFLAGS} -o $@ dbdiff_test.@O@ dnstest.@O@ \
111		${DNSLIBS} ${ISCLIBS} ${LIBS}
112
113dbiterator_test@EXEEXT@: dbiterator_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
114	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
115		${LDFLAGS} -o $@ dbiterator_test.@O@ dnstest.@O@ \
116		${DNSLIBS} ${ISCLIBS} ${LIBS}
117
118dbversion_test@EXEEXT@: dbversion_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
119	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
120		${LDFLAGS} -o $@ dbversion_test.@O@ dnstest.@O@ \
121		${DNSLIBS} ${ISCLIBS} ${LIBS}
122
123dh_test@EXEEXT@: dh_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
124	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
125		${LDFLAGS} -o $@ dh_test.@O@ dnstest.@O@ \
126		${DNSLIBS} ${ISCLIBS} ${LIBS}
127
128dispatch_test@EXEEXT@: dispatch_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
129	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
130		${LDFLAGS} -o $@ dispatch_test.@O@ dnstest.@O@ \
131		${DNSLIBS} ${ISCLIBS} ${LIBS}
132
133dnstap_test@EXEEXT@: dnstap_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
134	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
135		${LDFLAGS} -o $@ dnstap_test.@O@ dnstest.@O@ \
136		${DNSLIBS} ${ISCLIBS} ${LIBS}
137
138dst_test@EXEEXT@: dst_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
139	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
140		${LDFLAGS} -o $@ dst_test.@O@ dnstest.@O@ \
141		${DNSLIBS} ${ISCLIBS} ${LIBS}
142
143geoip_test@EXEEXT@: geoip_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
144	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
145		${LDFLAGS} -o $@ geoip_test.@O@ dnstest.@O@ \
146		${DNSLIBS} ${ISCLIBS} ${LIBS}
147
148gost_test@EXEEXT@: gost_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
149	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
150		${LDFLAGS} -o $@ gost_test.@O@ dnstest.@O@ \
151		${DNSLIBS} ${ISCLIBS} ${LIBS}
152
153keytable_test@EXEEXT@: keytable_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
154	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
155		${LDFLAGS} -o $@ keytable_test.@O@ dnstest.@O@ \
156		${DNSLIBS} ${ISCLIBS} ${LIBS}
157
158master_test@EXEEXT@: master_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
159	test -d testdata || mkdir testdata
160	test -d testdata/master || mkdir testdata/master
161	${PERL} ${srcdir}/mkraw.pl < ${srcdir}/testdata/master/master12.data.in \
162		> testdata/master/master12.data
163	${PERL} ${srcdir}/mkraw.pl < ${srcdir}/testdata/master/master13.data.in \
164		> testdata/master/master13.data
165	${PERL} ${srcdir}/mkraw.pl < ${srcdir}/testdata/master/master14.data.in \
166		> testdata/master/master14.data
167	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
168		${LDFLAGS} -o $@ master_test.@O@ dnstest.@O@ \
169		${DNSLIBS} ${ISCLIBS} ${LIBS}
170
171name_test@EXEEXT@: name_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
172	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
173		${LDFLAGS} -o $@ name_test.@O@ dnstest.@O@ \
174		${DNSLIBS} ${ISCLIBS} ${LIBS}
175
176nsec3_test@EXEEXT@: nsec3_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
177	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
178		${LDFLAGS} -o $@ nsec3_test.@O@ dnstest.@O@ \
179		${DNSLIBS} ${ISCLIBS} ${LIBS}
180
181peer_test@EXEEXT@: peer_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
182	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
183		${LDFLAGS} -o $@ peer_test.@O@ dnstest.@O@ \
184		${DNSLIBS} ${ISCLIBS} ${LIBS}
185
186private_test@EXEEXT@: private_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
187	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
188		${LDFLAGS} -o $@ private_test.@O@ dnstest.@O@ \
189		${DNSLIBS} ${ISCLIBS} ${LIBS}
190
191rbt_serialize_test@EXEEXT@: rbt_serialize_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
192	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
193		${LDFLAGS} -o $@ rbt_serialize_test.@O@ dnstest.@O@ \
194		${DNSLIBS} ${ISCLIBS} ${LIBS}
195
196rbt_test@EXEEXT@: rbt_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
197	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
198		${LDFLAGS} -o $@ rbt_test.@O@ dnstest.@O@ \
199		${DNSLIBS} ${ISCLIBS} ${LIBS}
200
201rdata_test@EXEEXT@: rdata_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
202	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
203		${LDFLAGS} -o $@ rdata_test.@O@ dnstest.@O@ \
204		${DNSLIBS} ${ISCLIBS} ${LIBS}
205
206rdataset_test@EXEEXT@: rdataset_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
207	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
208		${LDFLAGS} -o $@ rdataset_test.@O@ dnstest.@O@ \
209		${DNSLIBS} ${ISCLIBS} ${LIBS}
210
211rdatasetstats_test@EXEEXT@: rdatasetstats_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
212	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
213		${LDFLAGS} -o $@ rdatasetstats_test.@O@ dnstest.@O@ \
214		${DNSLIBS} ${ISCLIBS} ${LIBS}
215
216resolver_test@EXEEXT@: resolver_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
217	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
218		${LDFLAGS} -o $@ resolver_test.@O@ dnstest.@O@ \
219		${DNSLIBS} ${ISCLIBS} ${LIBS}
220
221result_test@EXEEXT@: result_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
222	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
223		${LDFLAGS} -o $@ result_test.@O@ \
224		${DNSLIBS} ${ISCLIBS} ${LIBS}
225
226rsa_test@EXEEXT@: rsa_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
227	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
228		${LDFLAGS} -o $@ rsa_test.@O@ dnstest.@O@ \
229		${DNSLIBS} ${ISCLIBS} ${LIBS}
230
231sigs_test@EXEEXT@: sigs_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
232	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
233		${LDFLAGS} -o $@ sigs_test.@O@ dnstest.@O@ \
234		${DNSLIBS} ${ISCLIBS} ${LIBS}
235
236time_test@EXEEXT@: time_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
237	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
238		${LDFLAGS} -o $@ time_test.@O@ dnstest.@O@ \
239		${DNSLIBS} ${ISCLIBS} ${LIBS}
240
241tsig_test@EXEEXT@: tsig_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
242	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
243		${LDFLAGS} -o $@ tsig_test.@O@ dnstest.@O@ \
244		${DNSLIBS} ${ISCLIBS} ${LIBS}
245
246update_test@EXEEXT@: update_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
247	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
248		${LDFLAGS} -o $@ update_test.@O@ dnstest.@O@ \
249		${DNSLIBS} ${ISCLIBS} ${LIBS}
250
251zonemgr_test@EXEEXT@: zonemgr_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
252	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
253		${LDFLAGS} -o $@ zonemgr_test.@O@ dnstest.@O@ \
254		${DNSLIBS} ${ISCLIBS} ${LIBS}
255
256zt_test@EXEEXT@: zt_test.@O@ dnstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS}
257	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} \
258		${LDFLAGS} -o $@ zt_test.@O@ dnstest.@O@ \
259		${DNSLIBS} ${ISCLIBS} ${LIBS}
260
261unit::
262	sh ${top_builddir}/unit/unittest.sh
263
264clean distclean::
265	rm -f ${TARGETS}
266	rm -f atf.out
267	rm -f testdata/master/master12.data testdata/master/master13.data \
268		testdata/master/master14.data
269	rm -f zone.bin
270