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