Makefile revision 1.23
11.23Srillig#	$NetBSD: Makefile,v 1.23 2021/10/19 19:59:05 rillig Exp $
21.1Skamil
31.1Skamil.include <bsd.own.mk>
41.1Skamil
51.1SkamilTESTSDIR=	${TESTSBASE}/usr.bin/indent
61.14SrilligTESTS_SH=	t_errors
71.14SrilligTESTS_SH+=	t_indent
81.15SrilligTESTS_SH+=	t_misc
91.16SrilligTESTS_SH+=	t_options
101.1Skamil
111.1SkamilFILESDIR=	${TESTSDIR}
121.17SrilligFILES=		block.0
131.5SrilligFILES+=		block.0.stdout
141.1SkamilFILES+=		declarations.0
151.11SrilligFILES+=		declarations.0.stderr
161.1SkamilFILES+=		declarations.0.stdout
171.1SkamilFILES+=		elsecomment.0
181.1SkamilFILES+=		elsecomment.0.stdout
191.1SkamilFILES+=		elsecomment.0.pro
201.1SkamilFILES+=		f_decls.0
211.1SkamilFILES+=		f_decls.0.stdout
221.7SrilligFILES+=		indent_variables.0
231.7SrilligFILES+=		indent_variables.0.pro
241.7SrilligFILES+=		indent_variables.0.stdout
251.19SrilligFILES+=		label.c
261.10SrilligFILES+=		lex.0
271.10SrilligFILES+=		lex.0.pro
281.10SrilligFILES+=		lex.0.stdout
291.9SrilligFILES+=		lex_char.0
301.9SrilligFILES+=		lex_char.0.pro
311.9SrilligFILES+=		lex_char.0.stdout
321.9SrilligFILES+=		lex_string.0
331.9SrilligFILES+=		lex_string.0.pro
341.9SrilligFILES+=		lex_string.0.stdout
351.4SrilligFILES+=		lineno.0
361.4SrilligFILES+=		lineno.0.pro
371.4SrilligFILES+=		lineno.0.stdout
381.1SkamilFILES+=		list_head.0
391.1SkamilFILES+=		list_head.0.stdout
401.1SkamilFILES+=		offsetof.0
411.1SkamilFILES+=		offsetof.0.stdout
421.3SrilligFILES+=		opt--version.0
431.3SrilligFILES+=		opt--version.0.pro
441.3SrilligFILES+=		opt--version.0.stdout
451.3SrilligFILES+=		opt-P.0
461.3SrilligFILES+=		opt-P.0.pro
471.3SrilligFILES+=		opt-P.0.stdout
481.3SrilligFILES+=		opt-T.0
491.3SrilligFILES+=		opt-T.0.pro
501.3SrilligFILES+=		opt-T.0.stdout
511.3SrilligFILES+=		opt-U.0
521.3SrilligFILES+=		opt-U.0.list
531.3SrilligFILES+=		opt-U.0.pro
541.3SrilligFILES+=		opt-U.0.stdout
551.6SrilligFILES+=		opt-bap+sob.0
561.6SrilligFILES+=		opt-bap+sob.0.pro
571.6SrilligFILES+=		opt-bap+sob.0.stdout
581.3SrilligFILES+=		opt-bl.0
591.3SrilligFILES+=		opt-bl.0.pro
601.3SrilligFILES+=		opt-bl.0.stdout
611.3SrilligFILES+=		opt-br.0
621.3SrilligFILES+=		opt-br.0.pro
631.3SrilligFILES+=		opt-br.0.stdout
641.3SrilligFILES+=		opt-c.0
651.3SrilligFILES+=		opt-c.0.pro
661.3SrilligFILES+=		opt-c.0.stdout
671.3SrilligFILES+=		opt-cd.0
681.3SrilligFILES+=		opt-cd.0.pro
691.3SrilligFILES+=		opt-cd.0.stdout
701.3SrilligFILES+=		opt-ci.0
711.3SrilligFILES+=		opt-ci.0.pro
721.3SrilligFILES+=		opt-ci.0.stdout
731.3SrilligFILES+=		opt-cli.0
741.3SrilligFILES+=		opt-cli.0.pro
751.3SrilligFILES+=		opt-cli.0.stdout
761.3SrilligFILES+=		opt-d.0
771.3SrilligFILES+=		opt-d.0.pro
781.3SrilligFILES+=		opt-d.0.stdout
791.3SrilligFILES+=		opt-di.0
801.3SrilligFILES+=		opt-di.0.pro
811.3SrilligFILES+=		opt-di.0.stdout
821.3SrilligFILES+=		opt-i.0
831.3SrilligFILES+=		opt-i.0.pro
841.3SrilligFILES+=		opt-i.0.stdout
851.3SrilligFILES+=		opt-l.0
861.3SrilligFILES+=		opt-l.0.pro
871.3SrilligFILES+=		opt-l.0.stdout
881.3SrilligFILES+=		opt-lc.0
891.3SrilligFILES+=		opt-lc.0.pro
901.3SrilligFILES+=		opt-lc.0.stdout
911.3SrilligFILES+=		opt-ldi.0
921.3SrilligFILES+=		opt-ldi.0.pro
931.3SrilligFILES+=		opt-ldi.0.stdout
941.3SrilligFILES+=		opt-npro.0
951.3SrilligFILES+=		opt-npro.0.pro
961.3SrilligFILES+=		opt-npro.0.stdout
971.3SrilligFILES+=		opt-ta.0
981.3SrilligFILES+=		opt-ta.0.pro
991.3SrilligFILES+=		opt-ta.0.stdout
1001.3SrilligFILES+=		opt-ts.0
1011.3SrilligFILES+=		opt-ts.0.pro
1021.3SrilligFILES+=		opt-ts.0.stdout
1031.13SrilligFILES+=		opt.0
1041.13SrilligFILES+=		opt.0.pro
1051.13SrilligFILES+=		opt.0.stdout
1061.16SrilligFILES+=		opt_bacc.c
1071.16SrilligFILES+=		opt_bad.c
1081.16SrilligFILES+=		opt_badp.c
1091.16SrilligFILES+=		opt_bap.c
1101.16SrilligFILES+=		opt_bbb.c
1111.16SrilligFILES+=		opt_bc.c
1121.16SrilligFILES+=		opt_bs.c
1131.16SrilligFILES+=		opt_cdb.c
1141.16SrilligFILES+=		opt_ce.c
1151.16SrilligFILES+=		opt_cs.c
1161.16SrilligFILES+=		opt_dj.c
1171.16SrilligFILES+=		opt_eei.c
1181.16SrilligFILES+=		opt_ei.c
1191.16SrilligFILES+=		opt_fbs.c
1201.16SrilligFILES+=		opt_fc1.c
1211.16SrilligFILES+=		opt_fcb.c
1221.16SrilligFILES+=		opt_ip.c
1231.16SrilligFILES+=		opt_lp.c
1241.16SrilligFILES+=		opt_lpl.c
1251.16SrilligFILES+=		opt_pcs.c
1261.16SrilligFILES+=		opt_psl.c
1271.16SrilligFILES+=		opt_sc.c
1281.16SrilligFILES+=		opt_sob.c
1291.16SrilligFILES+=		opt_ut.c
1301.16SrilligFILES+=		opt_v.c
1311.1SkamilFILES+=		parens.0
1321.1SkamilFILES+=		parens.0.stdout
1331.1SkamilFILES+=		parens.0.pro
1341.21SrilligFILES+=		ps_ind_level.c
1351.1SkamilFILES+=		struct.0
1361.1SkamilFILES+=		struct.0.stdout
1371.1SkamilFILES+=		surplusbad.0
1381.1SkamilFILES+=		surplusbad.0.stdout
1391.1SkamilFILES+=		surplusbad.0.pro
1401.19SrilligFILES+=		t_options.awk
1411.20SrilligFILES+=		token_binary_op.c
1421.20SrilligFILES+=		token_case_label.c
1431.20SrilligFILES+=		token_colon.c
1441.20SrilligFILES+=		token_comma.c
1451.18SrilligFILES+=		token_comment.c
1461.20SrilligFILES+=		token_decl.c
1471.20SrilligFILES+=		token_do_stmt.c
1481.20SrilligFILES+=		token_end_of_file.c
1491.20SrilligFILES+=		token_for_exprs.c
1501.20SrilligFILES+=		token_form_feed.c
1511.20SrilligFILES+=		token_funcname.c
1521.17SrilligFILES+=		token_ident.c
1531.20SrilligFILES+=		token_if_expr.c
1541.20SrilligFILES+=		token_if_expr_stmt.c
1551.20SrilligFILES+=		token_if_expr_stmt_else.c
1561.20SrilligFILES+=		token_keyword_do.c
1571.20SrilligFILES+=		token_keyword_do_else.c
1581.20SrilligFILES+=		token_keyword_else.c
1591.20SrilligFILES+=		token_keyword_for_if_while.c
1601.20SrilligFILES+=		token_keyword_struct_union_enum.c
1611.20SrilligFILES+=		token_lbrace.c
1621.20SrilligFILES+=		token_lparen.c
1631.20SrilligFILES+=		token_newline.c
1641.20SrilligFILES+=		token_period.c
1651.20SrilligFILES+=		token_postfix_op.c
1661.20SrilligFILES+=		token_preprocessing.c
1671.20SrilligFILES+=		token_question.c
1681.20SrilligFILES+=		token_rbrace.c
1691.20SrilligFILES+=		token_rparen.c
1701.20SrilligFILES+=		token_semicolon.c
1711.20SrilligFILES+=		token_stmt.c
1721.20SrilligFILES+=		token_stmt_list.c
1731.20SrilligFILES+=		token_storage_class.c
1741.20SrilligFILES+=		token_string_prefix.c
1751.20SrilligFILES+=		token_switch_expr.c
1761.20SrilligFILES+=		token_type_def.c
1771.20SrilligFILES+=		token_unary_op.c
1781.20SrilligFILES+=		token_while_expr.c
1791.1SkamilFILES+=		types_from_file.0
1801.1SkamilFILES+=		types_from_file.0.stdout
1811.1SkamilFILES+=		types_from_file.0.list
1821.1SkamilFILES+=		types_from_file.0.pro
1831.1SkamilFILES+=		wchar.0
1841.1SkamilFILES+=		wchar.0.stdout
1851.1Skamil
1861.7Srilligadd-test: .PHONY
1871.7Srillig	@set -eu; \
1881.23Srillig	test=${NAME:Q}.c; \
1891.23Srillig	if [ "$$test" = ".c" ]; then \
1901.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1911.7Srillig		exit; \
1921.23Srillig	fi; \
1931.7Srillig	\
1941.7Srillig	if [ -f "$$test" ]; then \
1951.7Srillig		echo "error: test $$test already exists." 1>&2; \
1961.7Srillig		exit 1; \
1971.7Srillig	fi; \
1981.7Srillig	\
1991.7Srillig	echo "=> Adding test $$test"; \
2001.7Srillig	printf '%s\n' \
2011.7Srillig		'/* $$''NetBSD$$ */' \
2021.7Srillig		'/* $$''FreeBSD$$ */' \
2031.7Srillig		'' \
2041.7Srillig		'/*' \
2051.7Srillig		' * TODO: Explain the purpose of the test.' \
2061.9Srillig		' */' \
2071.7Srillig		'' \
2081.23Srillig		'#indent input' \
2091.23Srillig		'// TODO: add input' \
2101.23Srillig		'#indent end' \
2111.23Srillig		'' \
2121.23Srillig		'#indent run [-options]' \
2131.23Srillig		'// TODO: add expected output' \
2141.23Srillig		'#indent end' \
2151.7Srillig	> "$$test"; \
2161.23Srillig	cvs add "$$test"; \
2171.7Srillig	printf '%s\n' \
2181.7Srillig		'/^FILES+=/i' \
2191.7Srillig		"FILES+=		$$test" \
2201.7Srillig		'.' 'w' 'q' \
2211.7Srillig	| ed Makefile; \
2221.7Srillig	${MAKE} sync-mi
2231.7Srillig
2241.7Srillig# Note: only works for adding tests.
2251.7Srillig# To remove a test, the $$mi file must be edited manually.
2261.7Srilligsync-mi: .PHONY
2271.7Srillig	@set -eu;							\
2281.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
2291.7Srillig	mi="distrib/sets/lists/tests/mi";				\
2301.7Srillig	cvs update "$$mi";						\
2311.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
2321.7Srillig	cat "$$mi" > "$$mi.tmp";					\
2331.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
2341.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
2351.7Srillig	mv "$$mi.tmp" "$$mi";						\
2361.7Srillig	cvs diff "$$mi" || true
2371.7Srillig
2381.1Skamil.include <bsd.test.mk>
239