1*1073f88eSbluhm# $OpenBSD: Makefile.inc,v 1.8 2021/12/12 21:16:53 bluhm Exp $ 2f39f8f30Sbluhm 3f39f8f30Sbluhm# The following ports must be installed for the regression tests: 4f39f8f30Sbluhm# p5-BSD-Socket-Splice perl interface to OpenBSD socket splicing 5f39f8f30Sbluhm# p5-Socket6 Perl defines relating to AF_INET6 sockets 6d653a4d4Sbluhm# 7d653a4d4Sbluhm# Check wether all required perl packages are installed. If some 8d653a4d4Sbluhm# are missing print a warning and skip the tests, but do not fail. 9f39f8f30Sbluhm 10f1dd7b85Sbluhm.if ! (make(clean) || make(cleandir) || make(obj)) 11f1dd7b85Sbluhm 12d653a4d4SbluhmPERL_REQUIRE != perl -Mstrict -Mwarnings -e ' \ 13d653a4d4Sbluhm eval { require BSD::Socket::Splice } or print $@; \ 14d653a4d4Sbluhm eval { require Socket6 } or print $@; \ 15d653a4d4Sbluhm' 16d653a4d4Sbluhm.if ! empty (PERL_REQUIRE) && ! defined (TARGETS) 17d653a4d4Sbluhmregress: 18d653a4d4Sbluhm @echo "${PERL_REQUIRE}" 198feac640Sbluhm @echo Install these Perl modules for additional tests. 208feac640Sbluhm @echo SKIPPED 218f72aa00Sbluhm.endif 22f39f8f30Sbluhm 23f1dd7b85Sbluhm.endif 24f1dd7b85Sbluhm 25f39f8f30Sbluhm# Fill out these variables if you want to test socket splicing with 26f39f8f30Sbluhm# the relay process running on a remote machine. You have to specify 27f39f8f30Sbluhm# a local and remote ip address for the tcp connections. To control 28f39f8f30Sbluhm# the remote machine you need a hostname for ssh to log in. All the 29f39f8f30Sbluhm# test files must be in the same directory local and remote. 30f39f8f30Sbluhm 31f39f8f30SbluhmLOCAL_ADDR ?= 32f39f8f30SbluhmREMOTE_ADDR ?= 33f39f8f30SbluhmREMOTE_SSH ?= 34f39f8f30Sbluhm 35d653a4d4Sbluhm# Automatically generate regress targets from test cases in directory. 36d653a4d4Sbluhm 37d653a4d4Sbluhm.if ! defined (TARGETS) 38d653a4d4SbluhmARGS != cd ${.CURDIR} && ls args-*.pl 39d653a4d4SbluhmTARGETS ?= ${ARGS} 40d653a4d4Sbluhm.endif 418feac640SbluhmREGRESS_TARGETS += ${TARGETS:S/^/run-/} 42d653a4d4SbluhmCLEANFILES += *.log ktrace.out stamp-* 43d653a4d4Sbluhm 44f39f8f30Sbluhm# Set variables so that make runs with and without obj directory. 45f39f8f30Sbluhm# Only do that if necessary to keep visible output short. 46f39f8f30Sbluhm 47f39f8f30Sbluhm.if ${.CURDIR} == ${.OBJDIR} 4831432b1dSbluhmPERLINC = -I.. -I. 49f39f8f30SbluhmPERLPATH = 50f39f8f30Sbluhm.else 51f39f8f30SbluhmPERLINC = -I${.CURDIR}/.. 52f39f8f30SbluhmPERLPATH = ${.CURDIR}/ 53f39f8f30Sbluhm.endif 54f39f8f30Sbluhm 55f39f8f30Sbluhm# make perl syntax check for all args files 56f39f8f30Sbluhm 57f39f8f30Sbluhm.PHONY: syntax 58f39f8f30Sbluhm 59f39f8f30Sbluhmsyntax: stamp-syntax 60f39f8f30Sbluhm 61f39f8f30Sbluhmstamp-syntax: ${ARGS} 62f39f8f30Sbluhm.for a in ${ARGS} 63f39f8f30Sbluhm @perl -c ${PERLPATH}$a 64f39f8f30Sbluhm.endfor 65f39f8f30Sbluhm @date >$@ 66