1 1.142 rillig # $NetBSD: Makefile,v 1.142 2024/06/08 09:09:20 rillig Exp $ 2 1.1 jruoho 3 1.1 jruoho NOMAN= # defined 4 1.1 jruoho 5 1.1 jruoho .include <bsd.own.mk> 6 1.1 jruoho 7 1.87 rillig ARCHSUBDIR!= cd ${NETBSDSRCDIR}/usr.bin/xlint/lint1 && ${MAKE} -v ARCHSUBDIR 8 1.87 rillig 9 1.1 jruoho TESTSDIR= ${TESTSBASE}/usr.bin/xlint/lint1 10 1.1 jruoho 11 1.141 rillig TESTS_SH= t_integration t_usage 12 1.87 rillig TESTS_SH_SRC_t_integration= archsubdir.sh t_integration.sh 13 1.116 rillig CLEANFILES+= archsubdir.sh 14 1.127 rillig CLEANFILES+= *.exp 15 1.87 rillig 16 1.87 rillig archsubdir.sh: 17 1.87 rillig @echo archsubdir=${ARCHSUBDIR} >${.TARGET} 18 1.1 jruoho 19 1.1 jruoho FILESDIR= ${TESTSDIR} 20 1.140 rillig FILES+= ${:!cd ${.CURDIR} && echo *.c *.exp-ln!} 21 1.128 rillig FILES+= check-expect.lua 22 1.1 jruoho 23 1.142 rillig add-test: .PHONY 24 1.142 rillig @set -eu; \ 25 1.142 rillig test=${NAME:Q}; \ 26 1.142 rillig [ "$$test" ] || { \ 27 1.142 rillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 28 1.142 rillig exit; \ 29 1.142 rillig }; \ 30 1.142 rillig \ 31 1.142 rillig if [ -f "$$test.c" ]; then \ 32 1.142 rillig echo "error: test $$test already exists in $$PWD."; \ 33 1.142 rillig exit 1; \ 34 1.142 rillig fi; \ 35 1.142 rillig \ 36 1.142 rillig echo "=> Adding test $$test"; \ 37 1.142 rillig printf '%s\n' \ 38 1.142 rillig '/* $$''NetBSD$$ */' \ 39 1.142 rillig "# 3 \"$$test.c\"" \ 40 1.142 rillig '' \ 41 1.142 rillig '/*' \ 42 1.142 rillig ' * TODO: Explain the purpose of the test.' \ 43 1.142 rillig ' */' \ 44 1.142 rillig '' \ 45 1.142 rillig '/* lint1-extra-flags: -Z */' \ 46 1.142 rillig '/* lint1-flags: -Z */' \ 47 1.142 rillig '/* lint1-only-if: schar uchar ilp32 lp64 int long ldbl64 ldbl96 ldbl128 */' \ 48 1.142 rillig '' \ 49 1.142 rillig '// TODO: Add some code that passes.' \ 50 1.142 rillig '// TODO: Add some code that fails.' \ 51 1.142 rillig > "$$test.c"; \ 52 1.142 rillig cvs add "$$test.c"; \ 53 1.142 rillig ${MAKE} sync-mi 54 1.142 rillig 55 1.21 rillig # Note: only works for adding tests. 56 1.21 rillig # To remove a test, the $$mi file must be edited manually. 57 1.21 rillig sync-mi: .PHONY 58 1.21 rillig @set -eu; \ 59 1.21 rillig cd "${MAKEFILE:tA:H}/../../../.."; \ 60 1.21 rillig mi="distrib/sets/lists/tests/mi"; \ 61 1.21 rillig cvs update "$$mi"; \ 62 1.21 rillig fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 63 1.21 rillig cat "$$mi" > "$$mi.tmp"; \ 64 1.128 rillig printf "$$fmt" ${FILES} >> "$$mi.tmp"; \ 65 1.21 rillig distrib/sets/fmt-list "$$mi.tmp"; \ 66 1.21 rillig mv "$$mi.tmp" "$$mi"; \ 67 1.21 rillig cvs diff "$$mi" || true 68 1.21 rillig 69 1.70 rillig accept: .PHONY 70 1.87 rillig @archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh '' 71 1.70 rillig 72 1.1 jruoho .include <bsd.test.mk> 73