1#	$OpenBSD: Makefile,v 1.22 2017/07/07 23:55:21 bluhm Exp $
2
3#
4# To run full regression tests you just need one step:
5# make regress
6#
7# A normal "make" is not necessary and will simply do the same thing
8# as "regress" (possibly with more bugs). This allows us to include
9# compilation as a part of the regression test.
10#
11# To get a log of test results set the REGRESS_LOG make variable to
12# a log file, use an absolute path.
13# To mail the test results set the REGRESS_MAIL make variable to an
14# email address.
15# To skip the really slow tests, set the REGRESS_SKIP_SLOW variable.
16
17SUBDIR+= etc bin include lib libexec sbin sys usr.bin usr.sbin misc gnu
18
19install:
20
21REGRESS_MAIL?=
22
23.if !empty(REGRESS_MAIL)
24_REGRESS_TMP!=/usr/bin/mktemp
25.endif
26
27.if empty(REGRESS_MAIL) || empty(_REGRESS_TMP)
28_REGRESS_TMP=
29_REGRESS_CLEAN=exit 0
30.else
31_REGRESS_CLEAN=rm -f ${_REGRESS_TMP}
32.endif
33MAKE_FLAGS+= _REGRESS_TMP=${_REGRESS_TMP}
34
35.INTERRUPT:
36	${_REGRESS_CLEAN}
37
38.END: .SILENT
39.if ${.TARGETS:Mall} || ${.TARGETS:Mregress} 
40	echo ====================================================================
41.if empty(REGRESS_MAIL) || empty(_REGRESS_TMP)
42	echo You can set REGRESS_LOG to point to a file and mail it manually.
43	echo $$ make REGRESS_LOG=/var/log/regress-tests regress
44.else
45	echo Mailing regress results to ${REGRESS_MAIL} ...
46	echo If you want them to be also logged locally, you can set the
47	echo REGRESS_LOG make variable to the full path of a log file.
48	(sysctl -n kern.version && cat ${_REGRESS_TMP}) | /usr/bin/mail -s "Regress: `uname -a`" ${REGRESS_MAIL}
49.endif
50	echo ====================================================================
51	${_REGRESS_CLEAN}
52.endif
53
54.include <bsd.subdir.mk>
55