1# Copyright (C) Internet Systems Consortium, Inc. ("ISC") 2# 3# SPDX-License-Identifier: MPL-2.0 4# 5# This Source Code Form is subject to the terms of the Mozilla Public 6# License, v. 2.0. If a copy of the MPL was not distributed with this 7# file, you can obtain one at https://mozilla.org/MPL/2.0/. 8# 9# See the COPYRIGHT file distributed with this work for additional 10# information regarding copyright ownership. 11 12srcdir = @srcdir@ 13VPATH = @srcdir@ 14top_srcdir = @top_srcdir@ 15 16@BIND9_MAKE_INCLUDES@ 17 18CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES} ${ISCCFG_INCLUDES} \ 19 ${OPENSSL_CFLAGS} @DST_GSSAPI_INC@ 20 21CDEFINES = @USE_GSSAPI@ 22 23CWARNINGS = 24BACKTRACECFLAGS = @BACKTRACECFLAGS@ 25PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ 26 27DNSLIBS = ../../../lib/dns/libdns.@A@ @NO_LIBTOOL_DNSLIBS@ 28ISCLIBS = ../../../lib/isc/libisc.@A@ @NO_LIBTOOL_ISCLIBS@ 29ISCNOSYMLIBS = ../../../lib/isc/libisc-nosymtbl.@A@ @NO_LIBTOOL_ISCLIBS@ 30ISCCFGLIBS = ../../../lib/isccfg/libisccfg.@A@ 31 32DNSDEPLIBS = ../../../lib/dns/libdns.@A@ 33ISCDEPLIBS = ../../../lib/isc/libisc.@A@ 34ISCDEPNOSYMLIBS = ../../../lib/isc/libisc-nosymtbl.@A@ 35ISCCFGDEPLIBS = ../../../lib/isccfg/libisccfg.@A@ 36 37LIBS = @LIBS@ 38 39SUBDIRS = 40 41# These programs are not built by default, but only when 42# configured with --enable-developer or built explicitly with 43# "make all_tests" 44 45TARGETS = @XTARGETS@ 46XTARGETS = adb_test@EXEEXT@ \ 47 byaddr_test@EXEEXT@ \ 48 backtrace_test@EXEEXT@ \ 49 backtrace_test_nosymtbl@EXEEXT@ \ 50 byname_test@EXEEXT@ \ 51 db_test@EXEEXT@ \ 52 gsstest@EXEEXT@ \ 53 fsaccess_test@EXEEXT@ \ 54 inter_test@EXEEXT@ \ 55 lex_test@EXEEXT@ \ 56 lfsr_test@EXEEXT@ \ 57 log_test@EXEEXT@ \ 58 master_test@EXEEXT@ \ 59 mempool_test@EXEEXT@ \ 60 name_test@EXEEXT@ \ 61 nsecify@EXEEXT@ \ 62 ratelimiter_test@EXEEXT@ \ 63 rbt_test@EXEEXT@ \ 64 rwlock_test@EXEEXT@ \ 65 serial_test@EXEEXT@ \ 66 shutdown_test@EXEEXT@ \ 67 sig0_test@EXEEXT@ \ 68 sock_test@EXEEXT@ \ 69 sym_test@EXEEXT@ \ 70 task_test@EXEEXT@ \ 71 timer_test@EXEEXT@ \ 72 zone_test@EXEEXT@ 73 74SRCS = ${XSRCS} 75XSRCS = adb_test.c \ 76 byaddr_test.c \ 77 backtrace_test.c \ 78 byname_test.c \ 79 db_test.c \ 80 fsaccess_test.c \ 81 gsstest.c \ 82 inter_test.c \ 83 lex_test.c \ 84 lfsr_test.c \ 85 log_test.c \ 86 master_test.c \ 87 mempool_test.c \ 88 name_test.c \ 89 nsecify.c \ 90 ratelimiter_test.c \ 91 rbt_test.c \ 92 rwlock_test.c \ 93 serial_test.c \ 94 shutdown_test.c \ 95 sig0_test.c \ 96 sock_test.c \ 97 sym_test.c \ 98 task_test.c \ 99 timer_test.c \ 100 zone_test.c 101 102@BIND9_MAKE_RULES@ 103 104# disable optimization for backtrace test to get the expected result 105BTTEST_CFLAGS = ${BACKTRACECFLAGS} ${EXT_CFLAGS} ${ALL_CPPFLAGS} -g \ 106 ${ALWAYS_WARNINGS} ${STD_CWARNINGS} ${CWARNINGS} ${PTHREAD_CFLAGS} 107 108all_tests: ${XTARGETS} 109 110adb_test@EXEEXT@: adb_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 111 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ adb_test.@O@ \ 112 ${DNSLIBS} ${ISCLIBS} ${LIBS} 113 114backtrace_test_nosymtbl@EXEEXT@: ${srcdir}/backtrace_test.c ${ISCDEPLIBS} 115 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} -o $@ \ 116 ${srcdir}/backtrace_test.c ${ISCLIBS} ${LIBS} 117 118backtrace_test@EXEEXT@: ${srcdir}/backtrace_test.c backtrace_test_nosymtbl@EXEEXT@ 119 #first step: create a first symbol table 120 rm -f symtbl.c 121 if test X${MKSYMTBL_PROGRAM} != X; then \ 122 ${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl \ 123 backtrace_test_nosymtbl@EXEEXT@; else \ 124 cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c; fi 125 #second step: build a binary with the first symbol table 126 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \ 127 -o $@0 ${srcdir}/backtrace_test.c symtbl.c \ 128 ${ISCNOSYMLIBS} ${LIBS} 129 rm -f symtbl.c 130 #third step: create a second symbol table 131 if test X${MKSYMTBL_PROGRAM} != X; then \ 132 ${MKSYMTBL_PROGRAM} ${top_srcdir}/util/mksymtbl.pl $@0; else \ 133 cp ${top_srcdir}/lib/isc/backtrace-emptytbl.c symtbl.c; fi 134 #fourth step: build the final binary 135 rm -f $@0 136 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${BTTEST_CFLAGS} ${LDFLAGS} \ 137 -o $@ ${srcdir}/backtrace_test.c symtbl.c ${ISCNOSYMLIBS} ${LIBS} 138 rm -f symtbl.c 139 140nsecify@EXEEXT@: nsecify.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 141 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ nsecify.@O@ \ 142 ${DNSLIBS} ${ISCLIBS} ${LIBS} 143 144byaddr_test@EXEEXT@: byaddr_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 145 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ byaddr_test.@O@ \ 146 ${DNSLIBS} ${ISCLIBS} ${LIBS} 147 148byname_test@EXEEXT@: byname_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 149 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ byname_test.@O@ \ 150 ${DNSLIBS} ${ISCLIBS} ${LIBS} 151 152lex_test@EXEEXT@: lex_test.@O@ ${ISCDEPLIBS} 153 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ lex_test.@O@ \ 154 ${ISCLIBS} ${LIBS} 155 156lfsr_test@EXEEXT@: lfsr_test.@O@ ${ISCDEPLIBS} 157 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ lfsr_test.@O@ \ 158 ${ISCLIBS} ${LIBS} 159 160log_test@EXEEXT@: log_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 161 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ log_test.@O@ \ 162 ${DNSLIBS} ${ISCLIBS} ${LIBS} 163 164name_test@EXEEXT@: name_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 165 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ name_test.@O@ \ 166 ${DNSLIBS} ${ISCLIBS} ${LIBS} 167 168entropy_test@EXEEXT@: entropy_test.@O@ ${ISCDEPLIBS} 169 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ entropy_test.@O@ \ 170 ${ISCLIBS} ${LIBS} 171 172entropy2_test@EXEEXT@: entropy2_test.@O@ ${ISCDEPLIBS} 173 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ entropy2_test.@O@ \ 174 ${ISCLIBS} ${LIBS} 175 176sock_test@EXEEXT@: sock_test.@O@ ${ISCDEPLIBS} 177 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ sock_test.@O@ \ 178 ${ISCLIBS} ${LIBS} 179 180sym_test@EXEEXT@: sym_test.@O@ ${ISCDEPLIBS} 181 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ sym_test.@O@ \ 182 ${ISCLIBS} ${LIBS} 183 184task_test@EXEEXT@: task_test.@O@ ${ISCDEPLIBS} 185 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ task_test.@O@ \ 186 ${ISCLIBS} ${LIBS} 187 188shutdown_test@EXEEXT@: shutdown_test.@O@ ${ISCDEPLIBS} 189 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ shutdown_test.@O@ \ 190 ${ISCLIBS} ${LIBS} 191 192timer_test@EXEEXT@: timer_test.@O@ ${ISCDEPLIBS} 193 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ timer_test.@O@ \ 194 ${ISCLIBS} ${LIBS} 195 196ratelimiter_test@EXEEXT@: ratelimiter_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 197 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ratelimiter_test.@O@ \ 198 ${DNSLIBS} ${ISCLIBS} ${LIBS} 199 200rbt_test@EXEEXT@: rbt_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 201 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rbt_test.@O@ \ 202 ${DNSLIBS} ${ISCLIBS} ${LIBS} 203 204rwlock_test@EXEEXT@: rwlock_test.@O@ ${ISCDEPLIBS} 205 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rwlock_test.@O@ \ 206 ${ISCLIBS} ${LIBS} 207 208master_test@EXEEXT@: master_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 209 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ master_test.@O@ \ 210 ${DNSLIBS} ${ISCLIBS} ${LIBS} 211 212db_test@EXEEXT@: db_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 213 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ db_test.@O@ \ 214 ${DNSLIBS} ${ISCLIBS} ${LIBS} 215 216mempool_test@EXEEXT@: mempool_test.@O@ ${ISCDEPLIBS} 217 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ mempool_test.@O@ \ 218 ${ISCLIBS} ${LIBS} 219 220serial_test@EXEEXT@: serial_test.@O@ ${ISCDEPLIBS} 221 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ serial_test.@O@ \ 222 ${ISCLIBS} ${LIBS} 223 224zone_test@EXEEXT@: zone_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 225 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zone_test.@O@ \ 226 ${DNSLIBS} ${ISCLIBS} ${LIBS} 227 228fsaccess_test@EXEEXT@: fsaccess_test.@O@ ${ISCDEPLIBS} 229 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ fsaccess_test.@O@ \ 230 ${ISCLIBS} ${LIBS} 231 232inter_test@EXEEXT@: inter_test.@O@ ${ISCDEPLIBS} 233 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ inter_test.@O@ \ 234 ${ISCLIBS} ${LIBS} 235 236sig0_test@EXEEXT@: sig0_test.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 237 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ sig0_test.@O@ \ 238 ${DNSLIBS} ${ISCLIBS} ${LIBS} 239 240gsstest@EXEEXT@: gsstest.@O@ ${ISCDEPLIBS} ${DNSDEPLIBS} 241 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} \ 242 -o $@ gsstest.@O@ ${DNSLIBS} ${ISCLIBS} ${LIBS} 243 244clean distclean:: 245 rm -f ${TARGETS} ${XTARGETS} 246 rm -f backtrace_test_symtbl.c 247 248check: test 249 250test: 251 @for dir in $(TESTDIRS) ;\ 252 do \ 253 ( cd $$dir; $(MAKE) test ) ;\ 254 done 255