Home | History | Annotate | Line # | Download | only in lint1
      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