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