1
2TEST_CASES?=	test0001 test0002 test0003 test0004	\
3		test0005 test0006 test0007 test0008	\
4		test0009 test0010 test0011 test0012	\
5		test0013 test0014 test0015 test0016	\
6		test0017 test0018 test0019 test0020	\
7		test0021 test0022 test0023 test0024	\
8		test0025 test0026 test0027 test0028	\
9		test0029 test0030 test0031 test0032	\
10		test0033 test0034 test0035 test0036	\
11		test0037 test0038 test0039 test0040	\
12		test0041 test0042 test0043 test0044	\
13		test0045 test0046 test0047 test0048	\
14		test0049 test0050 test0051 test0052	\
15		test0053 test0054 test0055 test0056	\
16		test0057 test0058 test0059 test0060	\
17		test0061 test0062 test0063 test0064	\
18		test0065 test0066 test0067 test0068	\
19		test0069 test0070 test0071 test0072	\
20		test0073 test0074 test0075 test0076	\
21		test0077 test0078 test0079 test0080	\
22		test0081 test0082 test0083 test0084	\
23		test0085 test0086 test0087 test0088	\
24		test0089 test0090 test0091
25
26SYSDIR?=	${SRCTOP}/sys
27
28SRCS=		${.CURDIR}/bpf_test.c
29
30CFLAGS+=	-g -I${SYSDIR} -I${.CURDIR}/tests
31
32.if defined(BPF_BENCHMARK)
33CFLAGS+=	-DBPF_BENCHMARK -DLOG_LEVEL=0
34.elif defined(LOG_LEVEL)
35CFLAGS+=	-DLOG_LEVEL="${LOG_LEVEL}"
36.endif
37
38.if defined(BPF_VALIDATE)
39CFLAGS+=	-DBPF_VALIDATE
40.endif
41
42.if defined(BPF_JIT) &&	\
43    (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386")
44SRCS+=		${SYSDIR}/net/bpf_jitter.c	\
45		${SYSDIR}/${MACHINE_ARCH}/${MACHINE_ARCH}/bpf_jit_machdep.c
46CFLAGS+=	-DBPF_JIT_COMPILER
47LIBS+=		-lutil
48.else
49SRCS+=		${SYSDIR}/net/bpf_filter.c
50WARNS?=		2
51.endif
52
53.for TEST in ${TEST_CASES}
54${TEST}:	${.CURDIR}/tests/${TEST}.h ${SRCS}
55	@${CC} ${CFLAGS} -DBPF_TEST_H=\"${TEST}.h\"	\
56	    -o ${.CURDIR}/${TEST} ${SRCS} ${LIBS}
57.endfor
58
59all:		${TEST_CASES}
60.for TEST in ${TEST_CASES}
61.if defined(BPF_BENCHMARK) || !defined(LOG_LEVEL) || (${LOG_LEVEL} > 0)
62	@${ECHO} -n "${TEST}:	"
63.endif
64.if defined(BPF_BENCHMARK)
65	@-time ${.CURDIR}/${TEST}
66.else
67	@-env MALLOC_OPTIONS=J ${.CURDIR}/${TEST}
68.endif
69	@rm -f ${.CURDIR}/${TEST}
70.endfor
71
72clean:
73.for TEST in ${TEST_CASES}
74	@rm -f ${.CURDIR}/${TEST}
75.endfor
76
77.include <bsd.prog.mk>
78