Makefile revision 1.24
11.24Srillig#	$NetBSD: Makefile,v 1.24 2021/10/19 20:20:24 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.24SrilligFILES+=		indent_off_on.c
231.7SrilligFILES+=		indent_variables.0
241.7SrilligFILES+=		indent_variables.0.pro
251.7SrilligFILES+=		indent_variables.0.stdout
261.19SrilligFILES+=		label.c
271.10SrilligFILES+=		lex.0
281.10SrilligFILES+=		lex.0.pro
291.10SrilligFILES+=		lex.0.stdout
301.9SrilligFILES+=		lex_char.0
311.9SrilligFILES+=		lex_char.0.pro
321.9SrilligFILES+=		lex_char.0.stdout
331.9SrilligFILES+=		lex_string.0
341.9SrilligFILES+=		lex_string.0.pro
351.9SrilligFILES+=		lex_string.0.stdout
361.4SrilligFILES+=		lineno.0
371.4SrilligFILES+=		lineno.0.pro
381.4SrilligFILES+=		lineno.0.stdout
391.1SkamilFILES+=		list_head.0
401.1SkamilFILES+=		list_head.0.stdout
411.1SkamilFILES+=		offsetof.0
421.1SkamilFILES+=		offsetof.0.stdout
431.3SrilligFILES+=		opt--version.0
441.3SrilligFILES+=		opt--version.0.pro
451.3SrilligFILES+=		opt--version.0.stdout
461.3SrilligFILES+=		opt-P.0
471.3SrilligFILES+=		opt-P.0.pro
481.3SrilligFILES+=		opt-P.0.stdout
491.3SrilligFILES+=		opt-T.0
501.3SrilligFILES+=		opt-T.0.pro
511.3SrilligFILES+=		opt-T.0.stdout
521.3SrilligFILES+=		opt-U.0
531.3SrilligFILES+=		opt-U.0.list
541.3SrilligFILES+=		opt-U.0.pro
551.3SrilligFILES+=		opt-U.0.stdout
561.6SrilligFILES+=		opt-bap+sob.0
571.6SrilligFILES+=		opt-bap+sob.0.pro
581.6SrilligFILES+=		opt-bap+sob.0.stdout
591.3SrilligFILES+=		opt-bl.0
601.3SrilligFILES+=		opt-bl.0.pro
611.3SrilligFILES+=		opt-bl.0.stdout
621.3SrilligFILES+=		opt-br.0
631.3SrilligFILES+=		opt-br.0.pro
641.3SrilligFILES+=		opt-br.0.stdout
651.3SrilligFILES+=		opt-c.0
661.3SrilligFILES+=		opt-c.0.pro
671.3SrilligFILES+=		opt-c.0.stdout
681.3SrilligFILES+=		opt-cd.0
691.3SrilligFILES+=		opt-cd.0.pro
701.3SrilligFILES+=		opt-cd.0.stdout
711.3SrilligFILES+=		opt-ci.0
721.3SrilligFILES+=		opt-ci.0.pro
731.3SrilligFILES+=		opt-ci.0.stdout
741.3SrilligFILES+=		opt-cli.0
751.3SrilligFILES+=		opt-cli.0.pro
761.3SrilligFILES+=		opt-cli.0.stdout
771.3SrilligFILES+=		opt-d.0
781.3SrilligFILES+=		opt-d.0.pro
791.3SrilligFILES+=		opt-d.0.stdout
801.3SrilligFILES+=		opt-di.0
811.3SrilligFILES+=		opt-di.0.pro
821.3SrilligFILES+=		opt-di.0.stdout
831.3SrilligFILES+=		opt-i.0
841.3SrilligFILES+=		opt-i.0.pro
851.3SrilligFILES+=		opt-i.0.stdout
861.3SrilligFILES+=		opt-l.0
871.3SrilligFILES+=		opt-l.0.pro
881.3SrilligFILES+=		opt-l.0.stdout
891.3SrilligFILES+=		opt-lc.0
901.3SrilligFILES+=		opt-lc.0.pro
911.3SrilligFILES+=		opt-lc.0.stdout
921.3SrilligFILES+=		opt-ldi.0
931.3SrilligFILES+=		opt-ldi.0.pro
941.3SrilligFILES+=		opt-ldi.0.stdout
951.3SrilligFILES+=		opt-npro.0
961.3SrilligFILES+=		opt-npro.0.pro
971.3SrilligFILES+=		opt-npro.0.stdout
981.3SrilligFILES+=		opt-ta.0
991.3SrilligFILES+=		opt-ta.0.pro
1001.3SrilligFILES+=		opt-ta.0.stdout
1011.3SrilligFILES+=		opt-ts.0
1021.3SrilligFILES+=		opt-ts.0.pro
1031.3SrilligFILES+=		opt-ts.0.stdout
1041.13SrilligFILES+=		opt.0
1051.13SrilligFILES+=		opt.0.pro
1061.13SrilligFILES+=		opt.0.stdout
1071.16SrilligFILES+=		opt_bacc.c
1081.16SrilligFILES+=		opt_bad.c
1091.16SrilligFILES+=		opt_badp.c
1101.16SrilligFILES+=		opt_bap.c
1111.16SrilligFILES+=		opt_bbb.c
1121.16SrilligFILES+=		opt_bc.c
1131.16SrilligFILES+=		opt_bs.c
1141.16SrilligFILES+=		opt_cdb.c
1151.16SrilligFILES+=		opt_ce.c
1161.16SrilligFILES+=		opt_cs.c
1171.16SrilligFILES+=		opt_dj.c
1181.16SrilligFILES+=		opt_eei.c
1191.16SrilligFILES+=		opt_ei.c
1201.16SrilligFILES+=		opt_fbs.c
1211.16SrilligFILES+=		opt_fc1.c
1221.16SrilligFILES+=		opt_fcb.c
1231.16SrilligFILES+=		opt_ip.c
1241.16SrilligFILES+=		opt_lp.c
1251.16SrilligFILES+=		opt_lpl.c
1261.16SrilligFILES+=		opt_pcs.c
1271.16SrilligFILES+=		opt_psl.c
1281.16SrilligFILES+=		opt_sc.c
1291.16SrilligFILES+=		opt_sob.c
1301.16SrilligFILES+=		opt_ut.c
1311.16SrilligFILES+=		opt_v.c
1321.1SkamilFILES+=		parens.0
1331.1SkamilFILES+=		parens.0.stdout
1341.1SkamilFILES+=		parens.0.pro
1351.21SrilligFILES+=		ps_ind_level.c
1361.1SkamilFILES+=		struct.0
1371.1SkamilFILES+=		struct.0.stdout
1381.1SkamilFILES+=		surplusbad.0
1391.1SkamilFILES+=		surplusbad.0.stdout
1401.1SkamilFILES+=		surplusbad.0.pro
1411.19SrilligFILES+=		t_options.awk
1421.20SrilligFILES+=		token_binary_op.c
1431.20SrilligFILES+=		token_case_label.c
1441.20SrilligFILES+=		token_colon.c
1451.20SrilligFILES+=		token_comma.c
1461.18SrilligFILES+=		token_comment.c
1471.20SrilligFILES+=		token_decl.c
1481.20SrilligFILES+=		token_do_stmt.c
1491.20SrilligFILES+=		token_end_of_file.c
1501.20SrilligFILES+=		token_for_exprs.c
1511.20SrilligFILES+=		token_form_feed.c
1521.20SrilligFILES+=		token_funcname.c
1531.17SrilligFILES+=		token_ident.c
1541.20SrilligFILES+=		token_if_expr.c
1551.20SrilligFILES+=		token_if_expr_stmt.c
1561.20SrilligFILES+=		token_if_expr_stmt_else.c
1571.20SrilligFILES+=		token_keyword_do.c
1581.20SrilligFILES+=		token_keyword_do_else.c
1591.20SrilligFILES+=		token_keyword_else.c
1601.20SrilligFILES+=		token_keyword_for_if_while.c
1611.20SrilligFILES+=		token_keyword_struct_union_enum.c
1621.20SrilligFILES+=		token_lbrace.c
1631.20SrilligFILES+=		token_lparen.c
1641.20SrilligFILES+=		token_newline.c
1651.20SrilligFILES+=		token_period.c
1661.20SrilligFILES+=		token_postfix_op.c
1671.20SrilligFILES+=		token_preprocessing.c
1681.20SrilligFILES+=		token_question.c
1691.20SrilligFILES+=		token_rbrace.c
1701.20SrilligFILES+=		token_rparen.c
1711.20SrilligFILES+=		token_semicolon.c
1721.20SrilligFILES+=		token_stmt.c
1731.20SrilligFILES+=		token_stmt_list.c
1741.20SrilligFILES+=		token_storage_class.c
1751.20SrilligFILES+=		token_string_prefix.c
1761.20SrilligFILES+=		token_switch_expr.c
1771.20SrilligFILES+=		token_type_def.c
1781.20SrilligFILES+=		token_unary_op.c
1791.20SrilligFILES+=		token_while_expr.c
1801.1SkamilFILES+=		types_from_file.0
1811.1SkamilFILES+=		types_from_file.0.stdout
1821.1SkamilFILES+=		types_from_file.0.list
1831.1SkamilFILES+=		types_from_file.0.pro
1841.1SkamilFILES+=		wchar.0
1851.1SkamilFILES+=		wchar.0.stdout
1861.1Skamil
1871.7Srilligadd-test: .PHONY
1881.7Srillig	@set -eu; \
1891.23Srillig	test=${NAME:Q}.c; \
1901.23Srillig	if [ "$$test" = ".c" ]; then \
1911.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1921.7Srillig		exit; \
1931.23Srillig	fi; \
1941.7Srillig	\
1951.7Srillig	if [ -f "$$test" ]; then \
1961.7Srillig		echo "error: test $$test already exists." 1>&2; \
1971.7Srillig		exit 1; \
1981.7Srillig	fi; \
1991.7Srillig	\
2001.7Srillig	echo "=> Adding test $$test"; \
2011.7Srillig	printf '%s\n' \
2021.7Srillig		'/* $$''NetBSD$$ */' \
2031.7Srillig		'/* $$''FreeBSD$$ */' \
2041.7Srillig		'' \
2051.7Srillig		'/*' \
2061.7Srillig		' * TODO: Explain the purpose of the test.' \
2071.9Srillig		' */' \
2081.7Srillig		'' \
2091.23Srillig		'#indent input' \
2101.23Srillig		'// TODO: add input' \
2111.23Srillig		'#indent end' \
2121.23Srillig		'' \
2131.23Srillig		'#indent run [-options]' \
2141.23Srillig		'// TODO: add expected output' \
2151.23Srillig		'#indent end' \
2161.7Srillig	> "$$test"; \
2171.23Srillig	cvs add "$$test"; \
2181.7Srillig	printf '%s\n' \
2191.7Srillig		'/^FILES+=/i' \
2201.7Srillig		"FILES+=		$$test" \
2211.7Srillig		'.' 'w' 'q' \
2221.7Srillig	| ed Makefile; \
2231.7Srillig	${MAKE} sync-mi
2241.7Srillig
2251.7Srillig# Note: only works for adding tests.
2261.7Srillig# To remove a test, the $$mi file must be edited manually.
2271.7Srilligsync-mi: .PHONY
2281.7Srillig	@set -eu;							\
2291.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
2301.7Srillig	mi="distrib/sets/lists/tests/mi";				\
2311.7Srillig	cvs update "$$mi";						\
2321.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
2331.7Srillig	cat "$$mi" > "$$mi.tmp";					\
2341.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
2351.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
2361.7Srillig	mv "$$mi.tmp" "$$mi";						\
2371.7Srillig	cvs diff "$$mi" || true
2381.7Srillig
2391.1Skamil.include <bsd.test.mk>
240