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 16VERSION=@BIND9_VERSION@ 17 18@BIND9_MAKE_INCLUDES@ 19 20SUBDIRS = dlzexternal dyndb pipelined rndc rpz rsabigexponent tkey 21 22CINCLUDES = ${ISC_INCLUDES} \ 23 ${DNS_INCLUDES} \ 24 ${ISCCFG_INCLUDES} \ 25 ${IRS_INCLUDES} 26 27CDEFINES = @USE_GSSAPI@ @CONTRIB_DLZ@ 28CWARNINGS = 29 30ISCLIBS = ../../../lib/isc/libisc.@A@ @NO_LIBTOOL_ISCLIBS@ 31DNSLIBS = ../../../lib/dns/libdns.@A@ @NO_LIBTOOL_DNSLIBS@ 32ISCCFGLIBS = ../../../lib/isccfg/libisccfg.@A@ 33IRSLIBS = ../../../lib/irs/libirs.@A@ 34 35ISCDEPLIBS = ../../../lib/isc/libisc.@A@ 36DNSDEPLIBS = ../../../lib/dns/libdns.@A@ 37ISCCFGDEPLIBS = ../../../lib/isccfg/libisccfg.@A@ 38IRSDEPLIBS = ../../../lib/irs/libirs.@A@ 39 40DEPLIBS = ${IRSDEPLIBS} ${ISCCFGDEPLIBS} ${DNSDEPLIBS} ${ISCDEPLIBS} 41 42LIBS = ${IRSLIBS} ${ISCCFGLIBS} ${DNSLIBS} ${ISCLIBS} @LIBS@ 43 44OBJS = feature-test.@O@ resolve.@O@ 45SRCS = feature-test.c resolve.c 46 47TARGETS = feature-test@EXEEXT@ resolve@EXEEXT@ 48 49@BIND9_MAKE_RULES@ 50 51subdirs: ${TARGETS} 52 53feature-test@EXEEXT@: feature-test.@O@ 54 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ feature-test.@O@ ${ISCLIBS} ${LIBS} 55 56resolve@EXEEXT@: resolve.@O@ ${DEPLIBS} 57 ${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \ 58 resolve.@O@ ${LIBS} 59 60# Running the scripts below is bypassed when a separate build directory is 61# used. 62 63# Produce intermediate makefile that assigns unique port numbers to each 64# parallel test. The start port number of 5,000 is arbitrary - it must just 65# be greater than the highest privileged port, 1024. 66# 67# Test names need to be sanitized because Solaris make does not like 68# underscores in target names and requires explicit differentiation 69# between a target name and a directory name (.PHONY is not supported). 70 71.PHONY: parallel.mk 72 73parallel.mk: 74 $(SHELL) parallel.sh > parallel.mk 75 76# Targets to run the tests. 77 78test: parallel.mk subdirs 79 @$(MAKE) -f parallel.mk check 80 @$(SHELL) ./runsequential.sh 81 @$(SHELL) ./testsummary.sh 82 83check: test 84 85# Other targets: 86# 87# testclean - delete files generated by running tests. 88# clean - testclean + also delete files built for the tests by "make". 89# distclean - clean + also delete test-related files generated by "configure". 90 91testclean clean distclean:: 92 if test -f ./cleanall.sh; then $(SHELL) ./cleanall.sh; fi 93 rm -f systests.output 94 rm -f random.data 95 rm -f parallel.mk 96 97clean distclean:: 98 rm -f ${TARGETS} 99 rm -f ${OBJS} 100 101distclean:: 102 rm -f conf.sh 103 104installdirs: 105 106install:: 107 108uninstall:: 109