1236594Sobrien# $FreeBSD$ 2236594Sobrien 3251368Sobrien.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "ia64" 4251368SobrienBI_BITS= 5251368Sobrien.endif 6251368Sobrien 7251368Sobrien_BINS= \ 8242137Sobrien filemontest \ 9251368Sobrien timed-forkb \ 10251368Sobrien sizeof_long 11236594Sobrien 12251368SobrienBINS= ${_BINS} 13251368Sobrien.if defined(BI_BITS) 14251368SobrienBINS+= ${_BINS:C/$/32/g} 15251368Sobrien.endif 16251368Sobrien 17251368Sobrienbins: ${BINS} 18242137Sobrienall: bins 19242137Sobrien 20236594SobrienNO_MAN= 21236594Sobrien 22236594SobrienWARNS?= 6 23236594SobrienCFLAGS+= -I${.CURDIR}/../../../sys 24236594Sobrien 25242137Sobrien# Should be "WITHOUT_CTF=" below, but stupid infastrurture fails: 26242137Sobrien# "/usr/share/mk/bsd.own.mk", line 489: WITH_CTF and WITHOUT_CTF can't both be set. 27242137SobrienWITHOUT_CDDL= 28242137Sobrien 29242137SobrienCLEANFILES+= ${BINS} 30242137Sobrien 31251368Sobrien 32251368Sobrien.for f32 in ${BINS} 33251368Sobrien${f32}32: ${f32}.c 34251368Sobrien ${CC} -m32 -DBIT=\"32\" -o ${.TARGET} ${CFLAGS} ${.ALLSRC} 35251368Sobrien.endfor 36251368Sobrien 37251368Sobrientests: 38242137Sobrien kldstat | grep filemon 39251368Sobrien @echo "" 40251368Sobrien ${MAKE} test01 41251368Sobrien ${MAKE} test02 42251368Sobrien.if defined(BI_BITS) 43251368Sobrien ${MAKE} test32 44251368Sobrien.endif 45242137Sobrien @echo "filemon(4) tests passed." 46242137Sobrien 47236594Sobrien# Cannot use .OBJDIR -- 'filemontest' expects 'test_script.sh' in . 48251368Sobrientest01: ${BINS:Mfilemontest*} ${BINS:Msizeof_long*} clean-test 49251368Sobrien.for BIN in ${BINS:Mfilemontest} 50236594Sobrien cd ${.CURDIR} ; \ 51236594Sobrien for A in 1 2 3 4 5 6 7 8 9 0; do \ 52236594Sobrien for B in 1 2 3 4 5 6 7 8 9 0; do \ 53236594Sobrien for C in 1 2 3 4 5 6 7 8 9 0; do \ 54237794Sobrien test -x ${BIN} && ${.OBJDIR}/${BIN} ;\ 55236594Sobrien done ;\ 56236594Sobrien done ;\ 57236594Sobrien done 58236594Sobrien @cd ${.CURDIR} ; set +e ; egrep '(Start|Stop) .*\.' filemon_log.* | \ 59251368Sobrien grep -q -v '\.[0-9][0-9][0-9][0-9][0-9][0-9]$$' || printf "Time stamp format OK\n\n" 60237794Sobrien.endfor 61251368Sobrien @cd ${.CURDIR} ; set +e ; for F in filemon_log.* ; do \ 62251368Sobrien tail -1 $$F | grep -q '# Bye bye' || echo "$$F missing filemon bye-bye" ; \ 63251368Sobrien NL=`wc -l $$F | awk '{print $$1}'` ; \ 64251368Sobrien if [ "$${NL}" != 97 ]; then echo "$$F BAD, contains $${NL} lines" ; exit 1 ; fi ; done 65236594Sobrien 66251368Sobrientest02: ${BINS:Mtimed-forkb*} 67251368Sobrien @echo "Without filemon(4) active:" 68251368Sobrien ./timed-forkb 69251368Sobrien @echo "With filemon(4) active:" 70251368Sobrien script -f typescript-timed-forkb ./timed-forkb 71251368Sobrien ls -l typescript-timed-forkb.filemon 72251368Sobrien 73251368Sobrientest32: ${BINS:M*32*} 74251368Sobrien script -f typescript.${.TARGET} ./sizeof_long32 >/dev/null 75251368Sobrien @tail -1 typescript.test32.filemon | grep -q '# Bye bye' || (echo '32-bit comapt filemon Missing "bye-bye"' ; exit 1) 76251368Sobrien @egrep -q '^X [0-9]+ 0$$' typescript.test32.filemon || (echo "32-bit binary exit ERROR" ; exit 1) 77251368Sobrien @printf "filemon(4) 32bit FreeBSD support passed.\n\n" 78251368Sobrien 79242157SobrienCLEANFILES+= typescript-timed-forkb typescript-timed-forkb.filemon 80242157Sobrien 81236594Sobrienclean-test: 82251368Sobrien cd ${.CURDIR} ; rm -f filemon_log*.* 83236594Sobrien 84242157Sobrienclean-tests: clean-test 85242157Sobrien 86236594Sobrien.include <bsd.prog.mk> 87