1181847Sjkim# $FreeBSD$
2181847Sjkim
3182219SjkimTEST_CASES?=	test0001 test0002 test0003 test0004	\
4181847Sjkim		test0005 test0006 test0007 test0008	\
5181847Sjkim		test0009 test0010 test0011 test0012	\
6181847Sjkim		test0013 test0014 test0015 test0016	\
7181847Sjkim		test0017 test0018 test0019 test0020	\
8181847Sjkim		test0021 test0022 test0023 test0024	\
9181847Sjkim		test0025 test0026 test0027 test0028	\
10181847Sjkim		test0029 test0030 test0031 test0032	\
11181847Sjkim		test0033 test0034 test0035 test0036	\
12181847Sjkim		test0037 test0038 test0039 test0040	\
13181847Sjkim		test0041 test0042 test0043 test0044	\
14181847Sjkim		test0045 test0046 test0047 test0048	\
15181847Sjkim		test0049 test0050 test0051 test0052	\
16181847Sjkim		test0053 test0054 test0055 test0056	\
17181847Sjkim		test0057 test0058 test0059 test0060	\
18181847Sjkim		test0061 test0062 test0063 test0064	\
19181847Sjkim		test0065 test0066 test0067 test0068	\
20181847Sjkim		test0069 test0070 test0071 test0072	\
21182219Sjkim		test0073 test0074 test0075 test0076	\
22182428Sjkim		test0077 test0078 test0079 test0080	\
23199499Sjkim		test0081 test0082 test0083 test0084
24181847Sjkim
25181847SjkimSYSDIR?=	${.CURDIR}/../../../../sys
26181847Sjkim
27181847SjkimSRCS=		${.CURDIR}/bpf_test.c
28181847Sjkim
29182185SjkimCFLAGS+=	-g -I${SYSDIR} -I${.CURDIR}/tests
30181847Sjkim
31182183Sjkim.if defined(BPF_BENCHMARK)
32182183SjkimCFLAGS+=	-DBPF_BENCHMARK -DLOG_LEVEL=0
33182183Sjkim.elif defined(LOG_LEVEL)
34181847SjkimCFLAGS+=	-DLOG_LEVEL="${LOG_LEVEL}"
35181847Sjkim.endif
36181847Sjkim
37181847Sjkim.if defined(BPF_VALIDATE)
38182459SjkimCFLAGS+=	-DBPF_VALIDATE
39181847Sjkim.endif
40181847Sjkim
41182221Sjkim.if defined(BPF_JIT) &&	\
42182221Sjkim    (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386")
43182182SjkimSRCS+=		${SYSDIR}/net/bpf_jitter.c	\
44182182Sjkim		${SYSDIR}/${MACHINE_ARCH}/${MACHINE_ARCH}/bpf_jit_machdep.c
45182185SjkimCFLAGS+=	-DBPF_JIT_COMPILER
46199604SjkimLIBS+=		-lutil
47182219SjkimWARNS?=		6
48181847Sjkim.else
49181847SjkimSRCS+=		${SYSDIR}/net/bpf_filter.c
50182219SjkimWARNS?=		2
51181847Sjkim.endif
52181847Sjkim
53181847Sjkim.for TEST in ${TEST_CASES}
54181847Sjkim${TEST}:	${.CURDIR}/tests/${TEST}.h ${SRCS}
55182221Sjkim	@${CC} ${CFLAGS} -DBPF_TEST_H=\"${TEST}.h\"	\
56199604Sjkim	    -o ${.CURDIR}/${TEST} ${SRCS} ${LIBS}
57181847Sjkim.endfor
58181847Sjkim
59181847Sjkimall:		${TEST_CASES}
60181847Sjkim.for TEST in ${TEST_CASES}
61182183Sjkim.if defined(BPF_BENCHMARK) || !defined(LOG_LEVEL) || (${LOG_LEVEL} > 0)
62181847Sjkim	@${ECHO} -n "${TEST}:	"
63181847Sjkim.endif
64182183Sjkim.if defined(BPF_BENCHMARK)
65182183Sjkim	@-time ${.CURDIR}/${TEST}
66182183Sjkim.else
67182377Sjkim	@-env MALLOC_OPTIONS=J ${.CURDIR}/${TEST}
68182183Sjkim.endif
69181847Sjkim	@rm -f ${.CURDIR}/${TEST}
70181847Sjkim.endfor
71181847Sjkim
72181847Sjkimclean:
73181847Sjkim.for TEST in ${TEST_CASES}
74181847Sjkim	@rm -f ${.CURDIR}/${TEST}
75181847Sjkim.endfor
76181847Sjkim
77181847Sjkim.include <bsd.prog.mk>
78