Makefile revision 1.44
11.44Srillig#	$NetBSD: Makefile,v 1.44 2022/04/24 09:04:12 rillig Exp $
21.1Skamil
31.1Skamil.include <bsd.own.mk>
41.1Skamil
51.1SkamilTESTSDIR=	${TESTSBASE}/usr.bin/indent
61.14SrilligTESTS_SH=	t_errors
71.15SrilligTESTS_SH+=	t_misc
81.16SrilligTESTS_SH+=	t_options
91.1Skamil
101.1SkamilFILESDIR=	${TESTSDIR}
111.34SrilligFILES+=		fmt_block.c
121.25SrilligFILES+=		fmt_decl.c
131.25SrilligFILES+=		fmt_else_comment.c
141.30SrilligFILES+=		fmt_expr.c
151.24SrilligFILES+=		indent_off_on.c
161.19SrilligFILES+=		label.c
171.34SrilligFILES+=		lex_char.c
181.25SrilligFILES+=		lex_ident.c
191.27SrilligFILES+=		lex_string.c
201.34SrilligFILES+=		lsym_binary_op.c
211.34SrilligFILES+=		lsym_case_label.c
221.34SrilligFILES+=		lsym_colon.c
231.34SrilligFILES+=		lsym_comma.c
241.34SrilligFILES+=		lsym_comment.c
251.34SrilligFILES+=		lsym_do.c
261.34SrilligFILES+=		lsym_else.c
271.34SrilligFILES+=		lsym_eof.c
281.34SrilligFILES+=		lsym_for.c
291.34SrilligFILES+=		lsym_form_feed.c
301.34SrilligFILES+=		lsym_funcname.c
311.34SrilligFILES+=		lsym_if.c
321.34SrilligFILES+=		lsym_lbrace.c
331.34SrilligFILES+=		lsym_lparen_or_lbracket.c
341.34SrilligFILES+=		lsym_newline.c
351.34SrilligFILES+=		lsym_offsetof.c
361.34SrilligFILES+=		lsym_period.c
371.34SrilligFILES+=		lsym_postfix_op.c
381.34SrilligFILES+=		lsym_preprocessing.c
391.34SrilligFILES+=		lsym_question.c
401.34SrilligFILES+=		lsym_rbrace.c
411.34SrilligFILES+=		lsym_return.c
421.34SrilligFILES+=		lsym_rparen_or_rbracket.c
431.34SrilligFILES+=		lsym_semicolon.c
441.34SrilligFILES+=		lsym_sizeof.c
451.34SrilligFILES+=		lsym_storage_class.c
461.34SrilligFILES+=		lsym_switch.c
471.34SrilligFILES+=		lsym_tag.c
481.34SrilligFILES+=		lsym_type_in_parentheses.c
491.34SrilligFILES+=		lsym_type_outside_parentheses.c
501.34SrilligFILES+=		lsym_typedef.c
511.34SrilligFILES+=		lsym_unary_op.c
521.34SrilligFILES+=		lsym_while.c
531.34SrilligFILES+=		lsym_word.c
541.27SrilligFILES+=		opt_P.c
551.27SrilligFILES+=		opt_T.c
561.16SrilligFILES+=		opt_bacc.c
571.16SrilligFILES+=		opt_bad.c
581.16SrilligFILES+=		opt_badp.c
591.16SrilligFILES+=		opt_bap.c
601.32SrilligFILES+=		opt_bap_sob.c
611.16SrilligFILES+=		opt_bbb.c
621.16SrilligFILES+=		opt_bc.c
631.27SrilligFILES+=		opt_bl_br.c
641.16SrilligFILES+=		opt_bs.c
651.27SrilligFILES+=		opt_c.c
661.27SrilligFILES+=		opt_cd.c
671.16SrilligFILES+=		opt_cdb.c
681.16SrilligFILES+=		opt_ce.c
691.27SrilligFILES+=		opt_ci.c
701.27SrilligFILES+=		opt_cli.c
711.16SrilligFILES+=		opt_cs.c
721.27SrilligFILES+=		opt_d.c
731.27SrilligFILES+=		opt_di.c
741.16SrilligFILES+=		opt_dj.c
751.16SrilligFILES+=		opt_eei.c
761.16SrilligFILES+=		opt_ei.c
771.16SrilligFILES+=		opt_fbs.c
781.16SrilligFILES+=		opt_fc1.c
791.16SrilligFILES+=		opt_fcb.c
801.27SrilligFILES+=		opt_i.c
811.16SrilligFILES+=		opt_ip.c
821.27SrilligFILES+=		opt_l.c
831.27SrilligFILES+=		opt_lc.c
841.27SrilligFILES+=		opt_ldi.c
851.16SrilligFILES+=		opt_lp.c
861.16SrilligFILES+=		opt_lpl.c
871.16SrilligFILES+=		opt_pcs.c
881.16SrilligFILES+=		opt_psl.c
891.16SrilligFILES+=		opt_sc.c
901.16SrilligFILES+=		opt_sob.c
911.27SrilligFILES+=		opt_ta.c
921.27SrilligFILES+=		opt_ts.c
931.16SrilligFILES+=		opt_ut.c
941.16SrilligFILES+=		opt_v.c
951.31SrilligFILES+=		opt_version.c
961.21SrilligFILES+=		ps_ind_level.c
971.34SrilligFILES+=		psym_decl.c
981.34SrilligFILES+=		psym_do.c
991.34SrilligFILES+=		psym_do_stmt.c
1001.34SrilligFILES+=		psym_else.c
1011.34SrilligFILES+=		psym_for_exprs.c
1021.34SrilligFILES+=		psym_if_expr.c
1031.34SrilligFILES+=		psym_if_expr_stmt.c
1041.34SrilligFILES+=		psym_if_expr_stmt_else.c
1051.34SrilligFILES+=		psym_lbrace.c
1061.34SrilligFILES+=		psym_rbrace.c
1071.34SrilligFILES+=		psym_semicolon.c
1081.34SrilligFILES+=		psym_stmt.c
1091.34SrilligFILES+=		psym_stmt_list.c
1101.34SrilligFILES+=		psym_switch_expr.c
1111.34SrilligFILES+=		psym_while_expr.c
1121.19SrilligFILES+=		t_options.awk
1131.20SrilligFILES+=		token_binary_op.c
1141.18SrilligFILES+=		token_comment.c
1151.20SrilligFILES+=		token_decl.c
1161.20SrilligFILES+=		token_do_stmt.c
1171.20SrilligFILES+=		token_end_of_file.c
1181.20SrilligFILES+=		token_for_exprs.c
1191.20SrilligFILES+=		token_form_feed.c
1201.20SrilligFILES+=		token_funcname.c
1211.17SrilligFILES+=		token_ident.c
1221.20SrilligFILES+=		token_keyword_do.c
1231.20SrilligFILES+=		token_keyword_do_else.c
1241.20SrilligFILES+=		token_keyword_else.c
1251.20SrilligFILES+=		token_keyword_for_if_while.c
1261.20SrilligFILES+=		token_keyword_struct_union_enum.c
1271.20SrilligFILES+=		token_newline.c
1281.20SrilligFILES+=		token_postfix_op.c
1291.20SrilligFILES+=		token_preprocessing.c
1301.20SrilligFILES+=		token_rparen.c
1311.20SrilligFILES+=		token_semicolon.c
1321.20SrilligFILES+=		token_stmt.c
1331.20SrilligFILES+=		token_stmt_list.c
1341.20SrilligFILES+=		token_storage_class.c
1351.20SrilligFILES+=		token_string_prefix.c
1361.20SrilligFILES+=		token_switch_expr.c
1371.20SrilligFILES+=		token_type_def.c
1381.20SrilligFILES+=		token_unary_op.c
1391.20SrilligFILES+=		token_while_expr.c
1401.1Skamil
1411.7Srilligadd-test: .PHONY
1421.7Srillig	@set -eu; \
1431.23Srillig	test=${NAME:Q}.c; \
1441.23Srillig	if [ "$$test" = ".c" ]; then \
1451.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1461.7Srillig		exit; \
1471.23Srillig	fi; \
1481.7Srillig	\
1491.7Srillig	if [ -f "$$test" ]; then \
1501.7Srillig		echo "error: test $$test already exists." 1>&2; \
1511.7Srillig		exit 1; \
1521.7Srillig	fi; \
1531.7Srillig	\
1541.7Srillig	echo "=> Adding test $$test"; \
1551.7Srillig	printf '%s\n' \
1561.7Srillig		'/* $$''NetBSD$$ */' \
1571.7Srillig		'' \
1581.7Srillig		'/*' \
1591.7Srillig		' * TODO: Explain the purpose of the test.' \
1601.9Srillig		' */' \
1611.7Srillig		'' \
1621.44Srillig		'//indent input' \
1631.23Srillig		'// TODO: add input' \
1641.44Srillig		'//indent end' \
1651.23Srillig		'' \
1661.44Srillig		'//indent run [-options]' \
1671.23Srillig		'// TODO: add expected output' \
1681.44Srillig		'//indent end' \
1691.7Srillig	> "$$test"; \
1701.23Srillig	cvs add "$$test"; \
1711.7Srillig	printf '%s\n' \
1721.7Srillig		'/^FILES+=/i' \
1731.7Srillig		"FILES+=		$$test" \
1741.7Srillig		'.' 'w' 'q' \
1751.7Srillig	| ed Makefile; \
1761.7Srillig	${MAKE} sync-mi
1771.7Srillig
1781.7Srillig# Note: only works for adding tests.
1791.7Srillig# To remove a test, the $$mi file must be edited manually.
1801.7Srilligsync-mi: .PHONY
1811.7Srillig	@set -eu;							\
1821.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
1831.7Srillig	mi="distrib/sets/lists/tests/mi";				\
1841.7Srillig	cvs update "$$mi";						\
1851.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
1861.7Srillig	cat "$$mi" > "$$mi.tmp";					\
1871.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
1881.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
1891.7Srillig	mv "$$mi.tmp" "$$mi";						\
1901.7Srillig	cvs diff "$$mi" || true
1911.7Srillig
1921.1Skamil.include <bsd.test.mk>
193