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
25SYSDIR?=	${.CURDIR}/../../../../sys
26
27SRCS=		${.CURDIR}/bpf_test.c
28
29CFLAGS+=	-g -I${SYSDIR} -I${.CURDIR}/tests
30
31.if defined(BPF_BENCHMARK)
32CFLAGS+=	-DBPF_BENCHMARK -DLOG_LEVEL=0
33.elif defined(LOG_LEVEL)
34CFLAGS+=	-DLOG_LEVEL="${LOG_LEVEL}"
35.endif
36
37.if defined(BPF_VALIDATE)
38CFLAGS+=	-DBPF_VALIDATE
39.endif
40
41.if defined(BPF_JIT) &&	\
42    (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386")
43SRCS+=		${SYSDIR}/net/bpf_jitter.c	\
44		${SYSDIR}/${MACHINE_ARCH}/${MACHINE_ARCH}/bpf_jit_machdep.c
45CFLAGS+=	-DBPF_JIT_COMPILER
46LIBS+=		-lutil
47WARNS?=		6
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