# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.

srcdir =	@srcdir@
VPATH =		@srcdir@
top_srcdir =	@top_srcdir@

VERSION=@BIND9_VERSION@

@BIND9_MAKE_INCLUDES@

SUBDIRS =	dlzexternal dyndb pipelined rndc rpz rsabigexponent tkey

CINCLUDES =	${ISC_INCLUDES} ${DNS_INCLUDES}

CDEFINES =	@USE_GSSAPI@ @CONTRIB_DLZ@
CWARNINGS =

DNSLIBS =
ISCLIBS =	../../../lib/isc/libisc.@A@ ${OPENSSL_LIBS} ${JSON_C_LIBS} ${LIBXML2_LIBS}

DNSDEPLIBS =
ISCDEPLIBS =

DEPLIBS =

LIBS =		@LIBS@

OBJS =		feature-test.@O@
SRCS =		feature-test.c

TARGETS =	feature-test@EXEEXT@

@BIND9_MAKE_RULES@

subdirs: ${TARGETS}

feature-test@EXEEXT@: feature-test.@O@
	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ feature-test.@O@ ${ISCLIBS} ${LIBS}

# Running the scripts below is bypassed when a separate build directory is
# used.

# Produce intermediate makefile that assigns unique port numbers to each
# parallel test.  The start port number of 5,000 is arbitrary - it must just
# be greater than the highest privileged port, 1024.
#
# Test names need to be sanitized because Solaris make does not like
# underscores in target names and requires explicit differentiation
# between a target name and a directory name (.PHONY is not supported).

.PHONY: parallel.mk

parallel.mk:
	$(SHELL) parallel.sh > parallel.mk

# Targets to run the tests.

test: parallel.mk subdirs
	@$(MAKE) -f parallel.mk check
	@$(SHELL) ./runsequential.sh -r
	@$(SHELL) ./testsummary.sh

check: test

# Other targets:
#
# testclean - delete files generated by running tests.
# clean     - testclean + also delete files built for the tests by "make".
# distclean - clean + also delete test-related files generated by "configure".

testclean clean distclean::
	if test -f ./cleanall.sh; then $(SHELL) ./cleanall.sh; fi
	rm -f systests.output
	rm -f random.data
	rm -f parallel.mk

clean distclean::
	rm -f ${TARGETS}
	rm -f ${OBJS}

distclean::
	rm -f conf.sh

installdirs:

install::

uninstall::
