11.142Srillig# $NetBSD: Makefile,v 1.142 2024/06/08 09:09:20 rillig Exp $ 21.1Sjruoho 31.1SjruohoNOMAN= # defined 41.1Sjruoho 51.1Sjruoho.include <bsd.own.mk> 61.1Sjruoho 71.87SrilligARCHSUBDIR!= cd ${NETBSDSRCDIR}/usr.bin/xlint/lint1 && ${MAKE} -v ARCHSUBDIR 81.87Srillig 91.1SjruohoTESTSDIR= ${TESTSBASE}/usr.bin/xlint/lint1 101.1Sjruoho 111.141SrilligTESTS_SH= t_integration t_usage 121.87SrilligTESTS_SH_SRC_t_integration= archsubdir.sh t_integration.sh 131.116SrilligCLEANFILES+= archsubdir.sh 141.127SrilligCLEANFILES+= *.exp 151.87Srillig 161.87Srilligarchsubdir.sh: 171.87Srillig @echo archsubdir=${ARCHSUBDIR} >${.TARGET} 181.1Sjruoho 191.1SjruohoFILESDIR= ${TESTSDIR} 201.140SrilligFILES+= ${:!cd ${.CURDIR} && echo *.c *.exp-ln!} 211.128SrilligFILES+= check-expect.lua 221.1Sjruoho 231.142Srilligadd-test: .PHONY 241.142Srillig @set -eu; \ 251.142Srillig test=${NAME:Q}; \ 261.142Srillig [ "$$test" ] || { \ 271.142Srillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 281.142Srillig exit; \ 291.142Srillig }; \ 301.142Srillig \ 311.142Srillig if [ -f "$$test.c" ]; then \ 321.142Srillig echo "error: test $$test already exists in $$PWD."; \ 331.142Srillig exit 1; \ 341.142Srillig fi; \ 351.142Srillig \ 361.142Srillig echo "=> Adding test $$test"; \ 371.142Srillig printf '%s\n' \ 381.142Srillig '/* $$''NetBSD$$ */' \ 391.142Srillig "# 3 \"$$test.c\"" \ 401.142Srillig '' \ 411.142Srillig '/*' \ 421.142Srillig ' * TODO: Explain the purpose of the test.' \ 431.142Srillig ' */' \ 441.142Srillig '' \ 451.142Srillig '/* lint1-extra-flags: -Z */' \ 461.142Srillig '/* lint1-flags: -Z */' \ 471.142Srillig '/* lint1-only-if: schar uchar ilp32 lp64 int long ldbl64 ldbl96 ldbl128 */' \ 481.142Srillig '' \ 491.142Srillig '// TODO: Add some code that passes.' \ 501.142Srillig '// TODO: Add some code that fails.' \ 511.142Srillig > "$$test.c"; \ 521.142Srillig cvs add "$$test.c"; \ 531.142Srillig ${MAKE} sync-mi 541.142Srillig 551.21Srillig# Note: only works for adding tests. 561.21Srillig# To remove a test, the $$mi file must be edited manually. 571.21Srilligsync-mi: .PHONY 581.21Srillig @set -eu; \ 591.21Srillig cd "${MAKEFILE:tA:H}/../../../.."; \ 601.21Srillig mi="distrib/sets/lists/tests/mi"; \ 611.21Srillig cvs update "$$mi"; \ 621.21Srillig fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 631.21Srillig cat "$$mi" > "$$mi.tmp"; \ 641.128Srillig printf "$$fmt" ${FILES} >> "$$mi.tmp"; \ 651.21Srillig distrib/sets/fmt-list "$$mi.tmp"; \ 661.21Srillig mv "$$mi.tmp" "$$mi"; \ 671.21Srillig cvs diff "$$mi" || true 681.21Srillig 691.70Srilligaccept: .PHONY 701.87Srillig @archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh '' 711.70Srillig 721.1Sjruoho.include <bsd.test.mk> 73