xref: /openbsd/regress/etc/MAKEDEV/Makefile (revision cecf84d4)
1
2# $OpenBSD: Makefile,v 1.29 2014/04/18 14:34:24 henning Exp $
3
4MAKEDEVARCHS+=alpha amd64 armish aviion hppa hppa64 i386 landisk
5MAKEDEVARCHS+=loongson luna88k macppc
6MAKEDEVARCHS+=sgi socppc sparc sparc64 vax zaurus
7
8MAKEDEVTARGS?=all ramdisk
9
10ETCSRCDIR?=	/usr/src/etc
11
12REGRESS_SLOW_TARGETS=${REGRESS_TARGETS}
13
14# test separate targets, all, ramdisk/raminst, std, etc
15# t1 = all
16# t2 = ramdisk
17
18REGRESS_TARGETS+= ${MAKEDEVARCHS}
19REGRESS_ROOT_TARGETS=${REGRESS_TARGETS}
20
21${REGRESS_TARGETS}:
22. for _T in ${MAKEDEVTARGS}
23	@echo "====> ${_T}.${.TARGET}"
24	@exec ${SUDO} rm -rf test.${_T}.${.TARGET}
25	@exec mkdir -p -m 700 test.${_T}.${.TARGET}
26	@exec cp ${ETCSRCDIR}/etc.${.TARGET}/MAKEDEV test.${_T}.${.TARGET}
27	@exec ${SUDO} chown root:wheel test.${_T}.${.TARGET}
28	@cd test.${_T}.${.TARGET}; \
29	time ${SUDO} sh ./MAKEDEV ${_T} || true; \
30	time ${SUDO} sh ./MAKEDEV ${_T} || true; \
31	( ls -ln; ls -ln fd/ ) 2> /dev/null | \
32		awk '/^[bcps]/ {printf "%s %x.%x %x,%x%s\n",$$1,$$3,$$4,$$5,$$6,$$10} \
33		     /^l/      {printf "%s %s.%s%s>%s\n",$$1,$$3,$$4,$$9,$$11}' | \
34		sort +5 -n | \
35		sed -e 's/rwx/7/g;s/rw-/6/g;s/r-x/5/g;s/r--/4/g' \
36		    -e 's/-wx/3/g;s/-w-/2/g;s/--x/1/g;s/---/0/g' \
37		    -e 's/^\([bcpsl]\)\([0-9][0-9]*\) /\2\1/' \
38		> ../t1.${_T}.${.TARGET}.out
39.endfor
40
41clean:
42	for f in ${MAKEDEVARCHS}; do rm -rf test.$$f; done
43	rm -f ${CLEANFILES}
44
45.PHONY: ${MAKEDEVARCHS}
46CLEANFILES+=t1.*.out
47
48.include <bsd.regress.mk>
49