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