Makefile revision 1.25
11.25Srillig#	$NetBSD: Makefile,v 1.25 2021/10/22 19:27:53 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.25SrilligFILES=		fmt_block.c
131.25SrilligFILES+=		fmt_decl.c
141.25SrilligFILES+=		fmt_else_comment.c
151.1SkamilFILES+=		f_decls.0
161.1SkamilFILES+=		f_decls.0.stdout
171.24SrilligFILES+=		indent_off_on.c
181.19SrilligFILES+=		label.c
191.25SrilligFILES+=		lex_ident.c
201.9SrilligFILES+=		lex_char.0
211.9SrilligFILES+=		lex_char.0.pro
221.9SrilligFILES+=		lex_char.0.stdout
231.9SrilligFILES+=		lex_string.0
241.9SrilligFILES+=		lex_string.0.pro
251.9SrilligFILES+=		lex_string.0.stdout
261.1SkamilFILES+=		list_head.0
271.1SkamilFILES+=		list_head.0.stdout
281.1SkamilFILES+=		offsetof.0
291.1SkamilFILES+=		offsetof.0.stdout
301.3SrilligFILES+=		opt--version.0
311.3SrilligFILES+=		opt--version.0.pro
321.3SrilligFILES+=		opt--version.0.stdout
331.3SrilligFILES+=		opt-P.0
341.3SrilligFILES+=		opt-P.0.pro
351.3SrilligFILES+=		opt-P.0.stdout
361.3SrilligFILES+=		opt-T.0
371.3SrilligFILES+=		opt-T.0.pro
381.3SrilligFILES+=		opt-T.0.stdout
391.3SrilligFILES+=		opt-U.0
401.3SrilligFILES+=		opt-U.0.list
411.3SrilligFILES+=		opt-U.0.pro
421.3SrilligFILES+=		opt-U.0.stdout
431.6SrilligFILES+=		opt-bap+sob.0
441.6SrilligFILES+=		opt-bap+sob.0.pro
451.6SrilligFILES+=		opt-bap+sob.0.stdout
461.3SrilligFILES+=		opt-bl.0
471.3SrilligFILES+=		opt-bl.0.pro
481.3SrilligFILES+=		opt-bl.0.stdout
491.3SrilligFILES+=		opt-br.0
501.3SrilligFILES+=		opt-br.0.pro
511.3SrilligFILES+=		opt-br.0.stdout
521.3SrilligFILES+=		opt-c.0
531.3SrilligFILES+=		opt-c.0.pro
541.3SrilligFILES+=		opt-c.0.stdout
551.3SrilligFILES+=		opt-cd.0
561.3SrilligFILES+=		opt-cd.0.pro
571.3SrilligFILES+=		opt-cd.0.stdout
581.3SrilligFILES+=		opt-ci.0
591.3SrilligFILES+=		opt-ci.0.pro
601.3SrilligFILES+=		opt-ci.0.stdout
611.3SrilligFILES+=		opt-cli.0
621.3SrilligFILES+=		opt-cli.0.pro
631.3SrilligFILES+=		opt-cli.0.stdout
641.3SrilligFILES+=		opt-d.0
651.3SrilligFILES+=		opt-d.0.pro
661.3SrilligFILES+=		opt-d.0.stdout
671.3SrilligFILES+=		opt-di.0
681.3SrilligFILES+=		opt-di.0.pro
691.3SrilligFILES+=		opt-di.0.stdout
701.3SrilligFILES+=		opt-i.0
711.3SrilligFILES+=		opt-i.0.pro
721.3SrilligFILES+=		opt-i.0.stdout
731.3SrilligFILES+=		opt-l.0
741.3SrilligFILES+=		opt-l.0.pro
751.3SrilligFILES+=		opt-l.0.stdout
761.3SrilligFILES+=		opt-lc.0
771.3SrilligFILES+=		opt-lc.0.pro
781.3SrilligFILES+=		opt-lc.0.stdout
791.3SrilligFILES+=		opt-ldi.0
801.3SrilligFILES+=		opt-ldi.0.pro
811.3SrilligFILES+=		opt-ldi.0.stdout
821.3SrilligFILES+=		opt-npro.0
831.3SrilligFILES+=		opt-npro.0.pro
841.3SrilligFILES+=		opt-npro.0.stdout
851.3SrilligFILES+=		opt-ta.0
861.3SrilligFILES+=		opt-ta.0.pro
871.3SrilligFILES+=		opt-ta.0.stdout
881.3SrilligFILES+=		opt-ts.0
891.3SrilligFILES+=		opt-ts.0.pro
901.3SrilligFILES+=		opt-ts.0.stdout
911.13SrilligFILES+=		opt.0
921.13SrilligFILES+=		opt.0.pro
931.13SrilligFILES+=		opt.0.stdout
941.16SrilligFILES+=		opt_bacc.c
951.16SrilligFILES+=		opt_bad.c
961.16SrilligFILES+=		opt_badp.c
971.16SrilligFILES+=		opt_bap.c
981.16SrilligFILES+=		opt_bbb.c
991.16SrilligFILES+=		opt_bc.c
1001.16SrilligFILES+=		opt_bs.c
1011.16SrilligFILES+=		opt_cdb.c
1021.16SrilligFILES+=		opt_ce.c
1031.16SrilligFILES+=		opt_cs.c
1041.16SrilligFILES+=		opt_dj.c
1051.16SrilligFILES+=		opt_eei.c
1061.16SrilligFILES+=		opt_ei.c
1071.16SrilligFILES+=		opt_fbs.c
1081.16SrilligFILES+=		opt_fc1.c
1091.16SrilligFILES+=		opt_fcb.c
1101.16SrilligFILES+=		opt_ip.c
1111.16SrilligFILES+=		opt_lp.c
1121.16SrilligFILES+=		opt_lpl.c
1131.16SrilligFILES+=		opt_pcs.c
1141.16SrilligFILES+=		opt_psl.c
1151.16SrilligFILES+=		opt_sc.c
1161.16SrilligFILES+=		opt_sob.c
1171.16SrilligFILES+=		opt_ut.c
1181.16SrilligFILES+=		opt_v.c
1191.1SkamilFILES+=		parens.0
1201.1SkamilFILES+=		parens.0.stdout
1211.1SkamilFILES+=		parens.0.pro
1221.21SrilligFILES+=		ps_ind_level.c
1231.1SkamilFILES+=		struct.0
1241.1SkamilFILES+=		struct.0.stdout
1251.1SkamilFILES+=		surplusbad.0
1261.1SkamilFILES+=		surplusbad.0.stdout
1271.1SkamilFILES+=		surplusbad.0.pro
1281.19SrilligFILES+=		t_options.awk
1291.20SrilligFILES+=		token_binary_op.c
1301.20SrilligFILES+=		token_case_label.c
1311.20SrilligFILES+=		token_colon.c
1321.20SrilligFILES+=		token_comma.c
1331.18SrilligFILES+=		token_comment.c
1341.20SrilligFILES+=		token_decl.c
1351.20SrilligFILES+=		token_do_stmt.c
1361.20SrilligFILES+=		token_end_of_file.c
1371.20SrilligFILES+=		token_for_exprs.c
1381.20SrilligFILES+=		token_form_feed.c
1391.20SrilligFILES+=		token_funcname.c
1401.17SrilligFILES+=		token_ident.c
1411.20SrilligFILES+=		token_if_expr.c
1421.20SrilligFILES+=		token_if_expr_stmt.c
1431.20SrilligFILES+=		token_if_expr_stmt_else.c
1441.20SrilligFILES+=		token_keyword_do.c
1451.20SrilligFILES+=		token_keyword_do_else.c
1461.20SrilligFILES+=		token_keyword_else.c
1471.20SrilligFILES+=		token_keyword_for_if_while.c
1481.20SrilligFILES+=		token_keyword_struct_union_enum.c
1491.20SrilligFILES+=		token_lbrace.c
1501.20SrilligFILES+=		token_lparen.c
1511.20SrilligFILES+=		token_newline.c
1521.20SrilligFILES+=		token_period.c
1531.20SrilligFILES+=		token_postfix_op.c
1541.20SrilligFILES+=		token_preprocessing.c
1551.20SrilligFILES+=		token_question.c
1561.20SrilligFILES+=		token_rbrace.c
1571.20SrilligFILES+=		token_rparen.c
1581.20SrilligFILES+=		token_semicolon.c
1591.20SrilligFILES+=		token_stmt.c
1601.20SrilligFILES+=		token_stmt_list.c
1611.20SrilligFILES+=		token_storage_class.c
1621.20SrilligFILES+=		token_string_prefix.c
1631.20SrilligFILES+=		token_switch_expr.c
1641.20SrilligFILES+=		token_type_def.c
1651.20SrilligFILES+=		token_unary_op.c
1661.20SrilligFILES+=		token_while_expr.c
1671.1SkamilFILES+=		types_from_file.0
1681.1SkamilFILES+=		types_from_file.0.stdout
1691.1SkamilFILES+=		types_from_file.0.list
1701.1SkamilFILES+=		types_from_file.0.pro
1711.1SkamilFILES+=		wchar.0
1721.1SkamilFILES+=		wchar.0.stdout
1731.1Skamil
1741.7Srilligadd-test: .PHONY
1751.7Srillig	@set -eu; \
1761.23Srillig	test=${NAME:Q}.c; \
1771.23Srillig	if [ "$$test" = ".c" ]; then \
1781.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
1791.7Srillig		exit; \
1801.23Srillig	fi; \
1811.7Srillig	\
1821.7Srillig	if [ -f "$$test" ]; then \
1831.7Srillig		echo "error: test $$test already exists." 1>&2; \
1841.7Srillig		exit 1; \
1851.7Srillig	fi; \
1861.7Srillig	\
1871.7Srillig	echo "=> Adding test $$test"; \
1881.7Srillig	printf '%s\n' \
1891.7Srillig		'/* $$''NetBSD$$ */' \
1901.7Srillig		'/* $$''FreeBSD$$ */' \
1911.7Srillig		'' \
1921.7Srillig		'/*' \
1931.7Srillig		' * TODO: Explain the purpose of the test.' \
1941.9Srillig		' */' \
1951.7Srillig		'' \
1961.23Srillig		'#indent input' \
1971.23Srillig		'// TODO: add input' \
1981.23Srillig		'#indent end' \
1991.23Srillig		'' \
2001.23Srillig		'#indent run [-options]' \
2011.23Srillig		'// TODO: add expected output' \
2021.23Srillig		'#indent end' \
2031.7Srillig	> "$$test"; \
2041.23Srillig	cvs add "$$test"; \
2051.7Srillig	printf '%s\n' \
2061.7Srillig		'/^FILES+=/i' \
2071.7Srillig		"FILES+=		$$test" \
2081.7Srillig		'.' 'w' 'q' \
2091.7Srillig	| ed Makefile; \
2101.7Srillig	${MAKE} sync-mi
2111.7Srillig
2121.7Srillig# Note: only works for adding tests.
2131.7Srillig# To remove a test, the $$mi file must be edited manually.
2141.7Srilligsync-mi: .PHONY
2151.7Srillig	@set -eu;							\
2161.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
2171.7Srillig	mi="distrib/sets/lists/tests/mi";				\
2181.7Srillig	cvs update "$$mi";						\
2191.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
2201.7Srillig	cat "$$mi" > "$$mi.tmp";					\
2211.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
2221.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
2231.7Srillig	mv "$$mi.tmp" "$$mi";						\
2241.7Srillig	cvs diff "$$mi" || true
2251.7Srillig
2261.1Skamil.include <bsd.test.mk>
227