this moves the creation of "parallel.mk" into a separate shell script
instead of bin/tests/system/Makefile. that shell script can now be
executed by runall.sh, allowing us to make use of the cygwin "make"
command, which supports parallel execution.
(cherry picked from commit bbae24c140)
96 lines
2.2 KiB
Makefile
96 lines
2.2 KiB
Makefile
# 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@
|
|
|
|
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::
|