87 lines
2.2 KiB
Makefile
87 lines
2.2 KiB
Makefile
# $FreeBSD$
|
|
|
|
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64"
|
|
BI_BITS=
|
|
.endif
|
|
|
|
_BINS= \
|
|
filemontest \
|
|
timed-forkb \
|
|
sizeof_long
|
|
|
|
BINS= ${_BINS}
|
|
.if defined(BI_BITS)
|
|
BINS+= ${_BINS:C/$/32/g}
|
|
.endif
|
|
|
|
bins: ${BINS}
|
|
all: bins
|
|
|
|
NO_MAN=
|
|
|
|
WARNS?= 6
|
|
CFLAGS+= -I${.CURDIR}/../../../sys
|
|
|
|
# Should be "WITHOUT_CTF=" below, but stupid infastrurture fails:
|
|
# "/usr/share/mk/bsd.own.mk", line 489: WITH_CTF and WITHOUT_CTF can't both be set.
|
|
WITHOUT_CDDL=
|
|
|
|
CLEANFILES+= ${BINS}
|
|
|
|
|
|
.for f32 in ${BINS}
|
|
${f32}32: ${f32}.c
|
|
${CC} -m32 -DBIT=\"32\" -o ${.TARGET} ${CFLAGS} ${.ALLSRC}
|
|
.endfor
|
|
|
|
tests:
|
|
kldstat | grep filemon
|
|
@echo ""
|
|
${MAKE} test01
|
|
${MAKE} test02
|
|
.if defined(BI_BITS)
|
|
${MAKE} test32
|
|
.endif
|
|
@echo "filemon(4) tests passed."
|
|
|
|
# Cannot use .OBJDIR -- 'filemontest' expects 'test_script.sh' in .
|
|
test01: ${BINS:Mfilemontest*} ${BINS:Msizeof_long*} clean-test
|
|
.for BIN in ${BINS:Mfilemontest}
|
|
cd ${.CURDIR} ; \
|
|
for A in 1 2 3 4 5 6 7 8 9 0; do \
|
|
for B in 1 2 3 4 5 6 7 8 9 0; do \
|
|
for C in 1 2 3 4 5 6 7 8 9 0; do \
|
|
test -x ${BIN} && ${.OBJDIR}/${BIN} ;\
|
|
done ;\
|
|
done ;\
|
|
done
|
|
@cd ${.CURDIR} ; set +e ; egrep '(Start|Stop) .*\.' filemon_log.* | \
|
|
grep -q -v '\.[0-9][0-9][0-9][0-9][0-9][0-9]$$' || printf "Time stamp format OK\n\n"
|
|
.endfor
|
|
@cd ${.CURDIR} ; set +e ; for F in filemon_log.* ; do \
|
|
tail -1 $$F | grep -q '# Bye bye' || echo "$$F missing filemon bye-bye" ; \
|
|
NL=`wc -l $$F | awk '{print $$1}'` ; \
|
|
if [ "$${NL}" != 97 ]; then echo "$$F BAD, contains $${NL} lines" ; exit 1 ; fi ; done
|
|
|
|
test02: ${BINS:Mtimed-forkb*}
|
|
@echo "Without filemon(4) active:"
|
|
./timed-forkb
|
|
@echo "With filemon(4) active:"
|
|
script -f typescript-timed-forkb ./timed-forkb
|
|
ls -l typescript-timed-forkb.filemon
|
|
|
|
test32: ${BINS:M*32*}
|
|
script -f typescript.${.TARGET} ./sizeof_long32 >/dev/null
|
|
@tail -1 typescript.test32.filemon | grep -q '# Bye bye' || (echo '32-bit comapt filemon Missing "bye-bye"' ; exit 1)
|
|
@egrep -q '^X [0-9]+ 0$$' typescript.test32.filemon || (echo "32-bit binary exit ERROR" ; exit 1)
|
|
@printf "filemon(4) 32bit FreeBSD support passed.\n\n"
|
|
|
|
CLEANFILES+= typescript-timed-forkb typescript-timed-forkb.filemon
|
|
|
|
clean-test:
|
|
cd ${.CURDIR} ; rm -f filemon_log*.*
|
|
|
|
clean-tests: clean-test
|
|
|
|
.include <bsd.prog.mk>
|