xref: /openbsd/regress/sys/kern/sosplice/Makefile.inc (revision 1073f88e)
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