Makefile revision 1.34
11.34Srillig#	$NetBSD: Makefile,v 1.34 2021/11/18 21:19:19 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_string_prefix.c
471.34SrilligFILES+=		lsym_switch.c
481.34SrilligFILES+=		lsym_tag.c
491.34SrilligFILES+=		lsym_type_in_parentheses.c
501.34SrilligFILES+=		lsym_type_outside_parentheses.c
511.34SrilligFILES+=		lsym_typedef.c
521.34SrilligFILES+=		lsym_unary_op.c
531.34SrilligFILES+=		lsym_while.c
541.34SrilligFILES+=		lsym_word.c
551.27SrilligFILES+=		opt_P.c
561.27SrilligFILES+=		opt_T.c
571.16SrilligFILES+=		opt_bacc.c
581.16SrilligFILES+=		opt_bad.c
591.16SrilligFILES+=		opt_badp.c
601.16SrilligFILES+=		opt_bap.c
611.32SrilligFILES+=		opt_bap_sob.c
621.16SrilligFILES+=		opt_bbb.c
631.16SrilligFILES+=		opt_bc.c
641.27SrilligFILES+=		opt_bl_br.c
651.16SrilligFILES+=		opt_bs.c
661.27SrilligFILES+=		opt_c.c
671.27SrilligFILES+=		opt_cd.c
681.16SrilligFILES+=		opt_cdb.c
691.16SrilligFILES+=		opt_ce.c
701.27SrilligFILES+=		opt_ci.c
711.27SrilligFILES+=		opt_cli.c
721.16SrilligFILES+=		opt_cs.c
731.27SrilligFILES+=		opt_d.c
741.27SrilligFILES+=		opt_di.c
751.16SrilligFILES+=		opt_dj.c
761.16SrilligFILES+=		opt_eei.c
771.16SrilligFILES+=		opt_ei.c
781.16SrilligFILES+=		opt_fbs.c
791.16SrilligFILES+=		opt_fc1.c
801.16SrilligFILES+=		opt_fcb.c
811.27SrilligFILES+=		opt_i.c
821.16SrilligFILES+=		opt_ip.c
831.27SrilligFILES+=		opt_l.c
841.27SrilligFILES+=		opt_lc.c
851.27SrilligFILES+=		opt_ldi.c
861.16SrilligFILES+=		opt_lp.c
871.16SrilligFILES+=		opt_lpl.c
881.16SrilligFILES+=		opt_pcs.c
891.16SrilligFILES+=		opt_psl.c
901.16SrilligFILES+=		opt_sc.c
911.16SrilligFILES+=		opt_sob.c
921.27SrilligFILES+=		opt_ta.c
931.27SrilligFILES+=		opt_ts.c
941.16SrilligFILES+=		opt_ut.c
951.16SrilligFILES+=		opt_v.c
961.31SrilligFILES+=		opt_version.c
971.21SrilligFILES+=		ps_ind_level.c
981.34SrilligFILES+=		psym_decl.c
991.34SrilligFILES+=		psym_do.c
1001.34SrilligFILES+=		psym_do_stmt.c
1011.34SrilligFILES+=		psym_else.c
1021.34SrilligFILES+=		psym_for_exprs.c
1031.34SrilligFILES+=		psym_if_expr.c
1041.34SrilligFILES+=		psym_if_expr_stmt.c
1051.34SrilligFILES+=		psym_if_expr_stmt_else.c
1061.34SrilligFILES+=		psym_lbrace.c
1071.34SrilligFILES+=		psym_rbrace.c
1081.34SrilligFILES+=		psym_semicolon.c
1091.34SrilligFILES+=		psym_stmt.c
1101.34SrilligFILES+=		psym_stmt_list.c
1111.34SrilligFILES+=		psym_switch_expr.c
1121.34SrilligFILES+=		psym_while_expr.c
1131.19SrilligFILES+=		t_options.awk
1141.20SrilligFILES+=		token_binary_op.c
1151.20SrilligFILES+=		token_case_label.c
1161.20SrilligFILES+=		token_colon.c
1171.20SrilligFILES+=		token_comma.c
1181.18SrilligFILES+=		token_comment.c
1191.20SrilligFILES+=		token_decl.c
1201.20SrilligFILES+=		token_do_stmt.c
1211.20SrilligFILES+=		token_end_of_file.c
1221.20SrilligFILES+=		token_for_exprs.c
1231.20SrilligFILES+=		token_form_feed.c
1241.20SrilligFILES+=		token_funcname.c
1251.17SrilligFILES+=		token_ident.c
1261.20SrilligFILES+=		token_if_expr.c
1271.20SrilligFILES+=		token_if_expr_stmt.c
1281.20SrilligFILES+=		token_if_expr_stmt_else.c
1291.20SrilligFILES+=		token_keyword_do.c
1301.20SrilligFILES+=		token_keyword_do_else.c
1311.20SrilligFILES+=		token_keyword_else.c
1321.20SrilligFILES+=		token_keyword_for_if_while.c
1331.20SrilligFILES+=		token_keyword_struct_union_enum.c
1341.20SrilligFILES+=		token_lbrace.c
1351.20SrilligFILES+=		token_lparen.c
1361.20SrilligFILES+=		token_newline.c
1371.20SrilligFILES+=		token_period.c
1381.20SrilligFILES+=		token_postfix_op.c
1391.20SrilligFILES+=		token_preprocessing.c
1401.20SrilligFILES+=		token_question.c
1411.20SrilligFILES+=		token_rbrace.c
1421.20SrilligFILES+=		token_rparen.c
1431.20SrilligFILES+=		token_semicolon.c
1441.20SrilligFILES+=		token_stmt.c
1451.20SrilligFILES+=		token_stmt_list.c
1461.20SrilligFILES+=		token_storage_class.c
1471.20SrilligFILES+=		token_string_prefix.c
1481.20SrilligFILES+=		token_switch_expr.c
1491.20SrilligFILES+=		token_type_def.c
1501.20SrilligFILES+=		token_unary_op.c
1511.20SrilligFILES+=		token_while_expr.c
1521.1Skamil
1531.7Srilligadd-test: .PHONY
1541.7Srillig	@set -eu; \
1551.23Srillig	test=${NAME:Q}.c; \
1561.23Srillig	if [ "$$test" = ".c" ]; then \
1571.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1581.7Srillig		exit; \
1591.23Srillig	fi; \
1601.7Srillig	\
1611.7Srillig	if [ -f "$$test" ]; then \
1621.7Srillig		echo "error: test $$test already exists." 1>&2; \
1631.7Srillig		exit 1; \
1641.7Srillig	fi; \
1651.7Srillig	\
1661.7Srillig	echo "=> Adding test $$test"; \
1671.7Srillig	printf '%s\n' \
1681.7Srillig		'/* $$''NetBSD$$ */' \
1691.7Srillig		'/* $$''FreeBSD$$ */' \
1701.7Srillig		'' \
1711.7Srillig		'/*' \
1721.7Srillig		' * TODO: Explain the purpose of the test.' \
1731.9Srillig		' */' \
1741.7Srillig		'' \
1751.23Srillig		'#indent input' \
1761.23Srillig		'// TODO: add input' \
1771.23Srillig		'#indent end' \
1781.23Srillig		'' \
1791.23Srillig		'#indent run [-options]' \
1801.23Srillig		'// TODO: add expected output' \
1811.23Srillig		'#indent end' \
1821.7Srillig	> "$$test"; \
1831.23Srillig	cvs add "$$test"; \
1841.7Srillig	printf '%s\n' \
1851.7Srillig		'/^FILES+=/i' \
1861.7Srillig		"FILES+=		$$test" \
1871.7Srillig		'.' 'w' 'q' \
1881.7Srillig	| ed Makefile; \
1891.7Srillig	${MAKE} sync-mi
1901.7Srillig
1911.7Srillig# Note: only works for adding tests.
1921.7Srillig# To remove a test, the $$mi file must be edited manually.
1931.7Srilligsync-mi: .PHONY
1941.7Srillig	@set -eu;							\
1951.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
1961.7Srillig	mi="distrib/sets/lists/tests/mi";				\
1971.7Srillig	cvs update "$$mi";						\
1981.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
1991.7Srillig	cat "$$mi" > "$$mi.tmp";					\
2001.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
2011.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
2021.7Srillig	mv "$$mi.tmp" "$$mi";						\
2031.7Srillig	cvs diff "$$mi" || true
2041.7Srillig
2051.1Skamil.include <bsd.test.mk>
206