Makefile revision 1.17
11.17Srillig#	$NetBSD: Makefile,v 1.17 2021/10/18 18:10:20 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.2SrilligFILES+=		comment-line-end.0
151.2SrilligFILES+=		comment-line-end.0.stdout
161.1SkamilFILES+=		comments.0
171.1SkamilFILES+=		comments.0.pro
181.1SkamilFILES+=		comments.0.stdout
191.1SkamilFILES+=		declarations.0
201.11SrilligFILES+=		declarations.0.stderr
211.1SkamilFILES+=		declarations.0.stdout
221.1SkamilFILES+=		elsecomment.0
231.1SkamilFILES+=		elsecomment.0.stdout
241.1SkamilFILES+=		elsecomment.0.pro
251.1SkamilFILES+=		f_decls.0
261.1SkamilFILES+=		f_decls.0.stdout
271.7SrilligFILES+=		indent_variables.0
281.7SrilligFILES+=		indent_variables.0.pro
291.7SrilligFILES+=		indent_variables.0.stdout
301.1SkamilFILES+=		label.0
311.1SkamilFILES+=		label.0.stdout
321.1SkamilFILES+=		label.0.pro
331.10SrilligFILES+=		lex.0
341.10SrilligFILES+=		lex.0.pro
351.10SrilligFILES+=		lex.0.stdout
361.9SrilligFILES+=		lex_char.0
371.9SrilligFILES+=		lex_char.0.pro
381.9SrilligFILES+=		lex_char.0.stdout
391.9SrilligFILES+=		lex_string.0
401.9SrilligFILES+=		lex_string.0.pro
411.9SrilligFILES+=		lex_string.0.stdout
421.4SrilligFILES+=		lineno.0
431.4SrilligFILES+=		lineno.0.pro
441.4SrilligFILES+=		lineno.0.stdout
451.1SkamilFILES+=		list_head.0
461.1SkamilFILES+=		list_head.0.stdout
471.1SkamilFILES+=		ncs.0
481.1SkamilFILES+=		ncs.0.stdout
491.1SkamilFILES+=		ncs.0.pro
501.1SkamilFILES+=		offsetof.0
511.1SkamilFILES+=		offsetof.0.stdout
521.3SrilligFILES+=		opt--version.0
531.3SrilligFILES+=		opt--version.0.pro
541.3SrilligFILES+=		opt--version.0.stdout
551.3SrilligFILES+=		opt-P.0
561.3SrilligFILES+=		opt-P.0.pro
571.3SrilligFILES+=		opt-P.0.stdout
581.3SrilligFILES+=		opt-T.0
591.3SrilligFILES+=		opt-T.0.pro
601.3SrilligFILES+=		opt-T.0.stdout
611.3SrilligFILES+=		opt-U.0
621.3SrilligFILES+=		opt-U.0.list
631.3SrilligFILES+=		opt-U.0.pro
641.3SrilligFILES+=		opt-U.0.stdout
651.6SrilligFILES+=		opt-bap+sob.0
661.6SrilligFILES+=		opt-bap+sob.0.pro
671.6SrilligFILES+=		opt-bap+sob.0.stdout
681.3SrilligFILES+=		opt-bl.0
691.3SrilligFILES+=		opt-bl.0.pro
701.3SrilligFILES+=		opt-bl.0.stdout
711.3SrilligFILES+=		opt-br.0
721.3SrilligFILES+=		opt-br.0.pro
731.3SrilligFILES+=		opt-br.0.stdout
741.3SrilligFILES+=		opt-c.0
751.3SrilligFILES+=		opt-c.0.pro
761.3SrilligFILES+=		opt-c.0.stdout
771.3SrilligFILES+=		opt-cd.0
781.3SrilligFILES+=		opt-cd.0.pro
791.3SrilligFILES+=		opt-cd.0.stdout
801.3SrilligFILES+=		opt-ci.0
811.3SrilligFILES+=		opt-ci.0.pro
821.3SrilligFILES+=		opt-ci.0.stdout
831.3SrilligFILES+=		opt-cli.0
841.3SrilligFILES+=		opt-cli.0.pro
851.3SrilligFILES+=		opt-cli.0.stdout
861.3SrilligFILES+=		opt-d.0
871.3SrilligFILES+=		opt-d.0.pro
881.3SrilligFILES+=		opt-d.0.stdout
891.3SrilligFILES+=		opt-di.0
901.3SrilligFILES+=		opt-di.0.pro
911.3SrilligFILES+=		opt-di.0.stdout
921.3SrilligFILES+=		opt-i.0
931.3SrilligFILES+=		opt-i.0.pro
941.3SrilligFILES+=		opt-i.0.stdout
951.3SrilligFILES+=		opt-l.0
961.3SrilligFILES+=		opt-l.0.pro
971.3SrilligFILES+=		opt-l.0.stdout
981.3SrilligFILES+=		opt-lc.0
991.3SrilligFILES+=		opt-lc.0.pro
1001.3SrilligFILES+=		opt-lc.0.stdout
1011.3SrilligFILES+=		opt-ldi.0
1021.3SrilligFILES+=		opt-ldi.0.pro
1031.3SrilligFILES+=		opt-ldi.0.stdout
1041.3SrilligFILES+=		opt-npro.0
1051.3SrilligFILES+=		opt-npro.0.pro
1061.3SrilligFILES+=		opt-npro.0.stdout
1071.3SrilligFILES+=		opt-ta.0
1081.3SrilligFILES+=		opt-ta.0.pro
1091.3SrilligFILES+=		opt-ta.0.stdout
1101.3SrilligFILES+=		opt-ts.0
1111.3SrilligFILES+=		opt-ts.0.pro
1121.3SrilligFILES+=		opt-ts.0.stdout
1131.13SrilligFILES+=		opt.0
1141.13SrilligFILES+=		opt.0.pro
1151.13SrilligFILES+=		opt.0.stdout
1161.16SrilligFILES+=		opt_bacc.c
1171.16SrilligFILES+=		opt_bad.c
1181.16SrilligFILES+=		opt_badp.c
1191.16SrilligFILES+=		opt_bap.c
1201.16SrilligFILES+=		opt_bbb.c
1211.16SrilligFILES+=		opt_bc.c
1221.16SrilligFILES+=		opt_bs.c
1231.16SrilligFILES+=		opt_cdb.c
1241.16SrilligFILES+=		opt_ce.c
1251.16SrilligFILES+=		opt_cs.c
1261.16SrilligFILES+=		opt_dj.c
1271.16SrilligFILES+=		opt_eei.c
1281.16SrilligFILES+=		opt_ei.c
1291.16SrilligFILES+=		opt_fbs.c
1301.16SrilligFILES+=		opt_fc1.c
1311.16SrilligFILES+=		opt_fcb.c
1321.16SrilligFILES+=		opt_ip.c
1331.16SrilligFILES+=		opt_lp.c
1341.16SrilligFILES+=		opt_lpl.c
1351.16SrilligFILES+=		opt_pcs.c
1361.16SrilligFILES+=		opt_psl.c
1371.16SrilligFILES+=		opt_sc.c
1381.16SrilligFILES+=		opt_sob.c
1391.16SrilligFILES+=		opt_ut.c
1401.16SrilligFILES+=		opt_v.c
1411.1SkamilFILES+=		parens.0
1421.1SkamilFILES+=		parens.0.stdout
1431.1SkamilFILES+=		parens.0.pro
1441.1SkamilFILES+=		pcs.0
1451.1SkamilFILES+=		pcs.0.stdout
1461.1SkamilFILES+=		pcs.0.pro
1471.12SrilligFILES+=		ps_ind_level.0
1481.12SrilligFILES+=		ps_ind_level.0.pro
1491.12SrilligFILES+=		ps_ind_level.0.stdout
1501.1SkamilFILES+=		struct.0
1511.1SkamilFILES+=		struct.0.stdout
1521.1SkamilFILES+=		surplusbad.0
1531.1SkamilFILES+=		surplusbad.0.stdout
1541.1SkamilFILES+=		surplusbad.0.pro
1551.8SrilligFILES+=		token-binary_op.0
1561.8SrilligFILES+=		token-binary_op.0.pro
1571.8SrilligFILES+=		token-binary_op.0.stdout
1581.8SrilligFILES+=		token-case_label.0
1591.8SrilligFILES+=		token-case_label.0.pro
1601.8SrilligFILES+=		token-case_label.0.stdout
1611.8SrilligFILES+=		token-colon.0
1621.8SrilligFILES+=		token-colon.0.pro
1631.8SrilligFILES+=		token-colon.0.stdout
1641.8SrilligFILES+=		token-comma.0
1651.8SrilligFILES+=		token-comma.0.pro
1661.8SrilligFILES+=		token-comma.0.stdout
1671.8SrilligFILES+=		token-comment.0
1681.8SrilligFILES+=		token-comment.0.pro
1691.8SrilligFILES+=		token-comment.0.stdout
1701.8SrilligFILES+=		token-decl.0
1711.8SrilligFILES+=		token-decl.0.pro
1721.8SrilligFILES+=		token-decl.0.stdout
1731.8SrilligFILES+=		token-do_stmt.0
1741.8SrilligFILES+=		token-do_stmt.0.pro
1751.8SrilligFILES+=		token-do_stmt.0.stdout
1761.8SrilligFILES+=		token-end_of_file.0
1771.8SrilligFILES+=		token-end_of_file.0.pro
1781.8SrilligFILES+=		token-end_of_file.0.stdout
1791.8SrilligFILES+=		token-for_exprs.0
1801.8SrilligFILES+=		token-for_exprs.0.pro
1811.8SrilligFILES+=		token-for_exprs.0.stdout
1821.8SrilligFILES+=		token-form_feed.0
1831.8SrilligFILES+=		token-form_feed.0.pro
1841.8SrilligFILES+=		token-form_feed.0.stdout
1851.8SrilligFILES+=		token-funcname.0
1861.8SrilligFILES+=		token-funcname.0.pro
1871.8SrilligFILES+=		token-funcname.0.stdout
1881.8SrilligFILES+=		token-if_expr.0
1891.8SrilligFILES+=		token-if_expr.0.pro
1901.8SrilligFILES+=		token-if_expr.0.stdout
1911.8SrilligFILES+=		token-if_expr_stmt.0
1921.8SrilligFILES+=		token-if_expr_stmt.0.pro
1931.8SrilligFILES+=		token-if_expr_stmt.0.stdout
1941.8SrilligFILES+=		token-if_expr_stmt_else.0
1951.8SrilligFILES+=		token-if_expr_stmt_else.0.pro
1961.8SrilligFILES+=		token-if_expr_stmt_else.0.stdout
1971.8SrilligFILES+=		token-keyword_do.0
1981.8SrilligFILES+=		token-keyword_do.0.pro
1991.8SrilligFILES+=		token-keyword_do.0.stdout
2001.8SrilligFILES+=		token-keyword_do_else.0
2011.8SrilligFILES+=		token-keyword_do_else.0.pro
2021.8SrilligFILES+=		token-keyword_do_else.0.stdout
2031.8SrilligFILES+=		token-keyword_else.0
2041.8SrilligFILES+=		token-keyword_else.0.pro
2051.8SrilligFILES+=		token-keyword_else.0.stdout
2061.8SrilligFILES+=		token-keyword_for_if_while.0
2071.8SrilligFILES+=		token-keyword_for_if_while.0.pro
2081.8SrilligFILES+=		token-keyword_for_if_while.0.stdout
2091.8SrilligFILES+=		token-keyword_struct_union_enum.0
2101.8SrilligFILES+=		token-keyword_struct_union_enum.0.pro
2111.8SrilligFILES+=		token-keyword_struct_union_enum.0.stdout
2121.8SrilligFILES+=		token-lbrace.0
2131.8SrilligFILES+=		token-lbrace.0.pro
2141.8SrilligFILES+=		token-lbrace.0.stdout
2151.8SrilligFILES+=		token-lparen.0
2161.8SrilligFILES+=		token-lparen.0.pro
2171.8SrilligFILES+=		token-lparen.0.stdout
2181.8SrilligFILES+=		token-newline.0
2191.8SrilligFILES+=		token-newline.0.pro
2201.8SrilligFILES+=		token-newline.0.stdout
2211.8SrilligFILES+=		token-period.0
2221.8SrilligFILES+=		token-period.0.pro
2231.8SrilligFILES+=		token-period.0.stdout
2241.8SrilligFILES+=		token-postfix_op.0
2251.8SrilligFILES+=		token-postfix_op.0.pro
2261.8SrilligFILES+=		token-postfix_op.0.stdout
2271.8SrilligFILES+=		token-preprocessing.0
2281.8SrilligFILES+=		token-preprocessing.0.pro
2291.8SrilligFILES+=		token-preprocessing.0.stdout
2301.8SrilligFILES+=		token-question.0
2311.8SrilligFILES+=		token-question.0.pro
2321.8SrilligFILES+=		token-question.0.stdout
2331.8SrilligFILES+=		token-rbrace.0
2341.8SrilligFILES+=		token-rbrace.0.pro
2351.8SrilligFILES+=		token-rbrace.0.stdout
2361.8SrilligFILES+=		token-rparen.0
2371.8SrilligFILES+=		token-rparen.0.pro
2381.8SrilligFILES+=		token-rparen.0.stdout
2391.8SrilligFILES+=		token-semicolon.0
2401.8SrilligFILES+=		token-semicolon.0.pro
2411.8SrilligFILES+=		token-semicolon.0.stdout
2421.8SrilligFILES+=		token-stmt.0
2431.8SrilligFILES+=		token-stmt.0.pro
2441.8SrilligFILES+=		token-stmt.0.stdout
2451.8SrilligFILES+=		token-stmt_list.0
2461.8SrilligFILES+=		token-stmt_list.0.pro
2471.8SrilligFILES+=		token-stmt_list.0.stdout
2481.8SrilligFILES+=		token-storage_class.0
2491.8SrilligFILES+=		token-storage_class.0.pro
2501.8SrilligFILES+=		token-storage_class.0.stdout
2511.8SrilligFILES+=		token-string_prefix.0
2521.8SrilligFILES+=		token-string_prefix.0.pro
2531.8SrilligFILES+=		token-string_prefix.0.stdout
2541.8SrilligFILES+=		token-switch_expr.0
2551.8SrilligFILES+=		token-switch_expr.0.pro
2561.8SrilligFILES+=		token-switch_expr.0.stdout
2571.8SrilligFILES+=		token-type_def.0
2581.8SrilligFILES+=		token-type_def.0.pro
2591.8SrilligFILES+=		token-type_def.0.stdout
2601.8SrilligFILES+=		token-unary_op.0
2611.8SrilligFILES+=		token-unary_op.0.pro
2621.8SrilligFILES+=		token-unary_op.0.stdout
2631.8SrilligFILES+=		token-while_expr.0
2641.8SrilligFILES+=		token-while_expr.0.pro
2651.8SrilligFILES+=		token-while_expr.0.stdout
2661.17SrilligFILES+=		token_ident.c
2671.1SkamilFILES+=		types_from_file.0
2681.1SkamilFILES+=		types_from_file.0.stdout
2691.1SkamilFILES+=		types_from_file.0.list
2701.1SkamilFILES+=		types_from_file.0.pro
2711.1SkamilFILES+=		wchar.0
2721.1SkamilFILES+=		wchar.0.stdout
2731.1Skamil
2741.7Srilligadd-test: .PHONY
2751.7Srillig	@set -eu; \
2761.7Srillig	test=${NAME:Q}; \
2771.7Srillig	[ "$$test" ] || { \
2781.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
2791.7Srillig		exit; \
2801.7Srillig	}; \
2811.7Srillig	\
2821.7Srillig	if [ -f "$$test" ]; then \
2831.7Srillig		echo "error: test $$test already exists." 1>&2; \
2841.7Srillig		exit 1; \
2851.7Srillig	fi; \
2861.7Srillig	\
2871.7Srillig	echo "=> Adding test $$test"; \
2881.7Srillig	printf '%s\n' \
2891.7Srillig		'/* $$''NetBSD$$ */' \
2901.7Srillig		'/* $$''FreeBSD$$ */' \
2911.7Srillig		'' \
2921.7Srillig		'/*' \
2931.7Srillig		' * TODO: Explain the purpose of the test.' \
2941.9Srillig		' */' \
2951.7Srillig		'' \
2961.7Srillig		'// TODO: Add some code that passes.' \
2971.7Srillig	> "$$test"; \
2981.7Srillig	printf '%s\n' \
2991.7Srillig		'/* $$''NetBSD$$ */' \
3001.7Srillig		'/* $$''FreeBSD$$ */' \
3011.7Srillig		'' \
3021.7Srillig		'/*' \
3031.7Srillig		' * TODO: Explain the command line options of the test.' \
3041.7Srillig		' */' \
3051.7Srillig		'' \
3061.7Srillig		'/* TODO: Add some command line options */' \
3071.7Srillig	> "$$test.pro"; \
3081.7Srillig	cat < "$$test" > "$$test.stdout"; \
3091.7Srillig	cvs add "$$test" "$$test.pro" "$$test.stdout"; \
3101.7Srillig	printf '%s\n' \
3111.7Srillig		'/^FILES+=/i' \
3121.7Srillig		"FILES+=		$$test" \
3131.7Srillig		"FILES+=		$$test.pro" \
3141.7Srillig		"FILES+=		$$test.stdout" \
3151.7Srillig		'.' 'w' 'q' \
3161.7Srillig	| ed Makefile; \
3171.7Srillig	${MAKE} sync-mi
3181.7Srillig
3191.7Srillig# Note: only works for adding tests.
3201.7Srillig# To remove a test, the $$mi file must be edited manually.
3211.7Srilligsync-mi: .PHONY
3221.7Srillig	@set -eu;							\
3231.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
3241.7Srillig	mi="distrib/sets/lists/tests/mi";				\
3251.7Srillig	cvs update "$$mi";						\
3261.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
3271.7Srillig	cat "$$mi" > "$$mi.tmp";					\
3281.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
3291.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
3301.7Srillig	mv "$$mi.tmp" "$$mi";						\
3311.7Srillig	cvs diff "$$mi" || true
3321.7Srillig
3331.1Skamil.include <bsd.test.mk>
334