Makefile revision 1.18
11.18Srillig#	$NetBSD: Makefile,v 1.18 2021/10/18 19:36:30 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.1SkamilFILES+=		label.0
261.1SkamilFILES+=		label.0.stdout
271.1SkamilFILES+=		label.0.pro
281.10SrilligFILES+=		lex.0
291.10SrilligFILES+=		lex.0.pro
301.10SrilligFILES+=		lex.0.stdout
311.9SrilligFILES+=		lex_char.0
321.9SrilligFILES+=		lex_char.0.pro
331.9SrilligFILES+=		lex_char.0.stdout
341.9SrilligFILES+=		lex_string.0
351.9SrilligFILES+=		lex_string.0.pro
361.9SrilligFILES+=		lex_string.0.stdout
371.4SrilligFILES+=		lineno.0
381.4SrilligFILES+=		lineno.0.pro
391.4SrilligFILES+=		lineno.0.stdout
401.1SkamilFILES+=		list_head.0
411.1SkamilFILES+=		list_head.0.stdout
421.1SkamilFILES+=		ncs.0
431.1SkamilFILES+=		ncs.0.stdout
441.1SkamilFILES+=		ncs.0.pro
451.1SkamilFILES+=		offsetof.0
461.1SkamilFILES+=		offsetof.0.stdout
471.3SrilligFILES+=		opt--version.0
481.3SrilligFILES+=		opt--version.0.pro
491.3SrilligFILES+=		opt--version.0.stdout
501.3SrilligFILES+=		opt-P.0
511.3SrilligFILES+=		opt-P.0.pro
521.3SrilligFILES+=		opt-P.0.stdout
531.3SrilligFILES+=		opt-T.0
541.3SrilligFILES+=		opt-T.0.pro
551.3SrilligFILES+=		opt-T.0.stdout
561.3SrilligFILES+=		opt-U.0
571.3SrilligFILES+=		opt-U.0.list
581.3SrilligFILES+=		opt-U.0.pro
591.3SrilligFILES+=		opt-U.0.stdout
601.6SrilligFILES+=		opt-bap+sob.0
611.6SrilligFILES+=		opt-bap+sob.0.pro
621.6SrilligFILES+=		opt-bap+sob.0.stdout
631.3SrilligFILES+=		opt-bl.0
641.3SrilligFILES+=		opt-bl.0.pro
651.3SrilligFILES+=		opt-bl.0.stdout
661.3SrilligFILES+=		opt-br.0
671.3SrilligFILES+=		opt-br.0.pro
681.3SrilligFILES+=		opt-br.0.stdout
691.3SrilligFILES+=		opt-c.0
701.3SrilligFILES+=		opt-c.0.pro
711.3SrilligFILES+=		opt-c.0.stdout
721.3SrilligFILES+=		opt-cd.0
731.3SrilligFILES+=		opt-cd.0.pro
741.3SrilligFILES+=		opt-cd.0.stdout
751.3SrilligFILES+=		opt-ci.0
761.3SrilligFILES+=		opt-ci.0.pro
771.3SrilligFILES+=		opt-ci.0.stdout
781.3SrilligFILES+=		opt-cli.0
791.3SrilligFILES+=		opt-cli.0.pro
801.3SrilligFILES+=		opt-cli.0.stdout
811.3SrilligFILES+=		opt-d.0
821.3SrilligFILES+=		opt-d.0.pro
831.3SrilligFILES+=		opt-d.0.stdout
841.3SrilligFILES+=		opt-di.0
851.3SrilligFILES+=		opt-di.0.pro
861.3SrilligFILES+=		opt-di.0.stdout
871.3SrilligFILES+=		opt-i.0
881.3SrilligFILES+=		opt-i.0.pro
891.3SrilligFILES+=		opt-i.0.stdout
901.3SrilligFILES+=		opt-l.0
911.3SrilligFILES+=		opt-l.0.pro
921.3SrilligFILES+=		opt-l.0.stdout
931.3SrilligFILES+=		opt-lc.0
941.3SrilligFILES+=		opt-lc.0.pro
951.3SrilligFILES+=		opt-lc.0.stdout
961.3SrilligFILES+=		opt-ldi.0
971.3SrilligFILES+=		opt-ldi.0.pro
981.3SrilligFILES+=		opt-ldi.0.stdout
991.3SrilligFILES+=		opt-npro.0
1001.3SrilligFILES+=		opt-npro.0.pro
1011.3SrilligFILES+=		opt-npro.0.stdout
1021.3SrilligFILES+=		opt-ta.0
1031.3SrilligFILES+=		opt-ta.0.pro
1041.3SrilligFILES+=		opt-ta.0.stdout
1051.3SrilligFILES+=		opt-ts.0
1061.3SrilligFILES+=		opt-ts.0.pro
1071.3SrilligFILES+=		opt-ts.0.stdout
1081.13SrilligFILES+=		opt.0
1091.13SrilligFILES+=		opt.0.pro
1101.13SrilligFILES+=		opt.0.stdout
1111.16SrilligFILES+=		opt_bacc.c
1121.16SrilligFILES+=		opt_bad.c
1131.16SrilligFILES+=		opt_badp.c
1141.16SrilligFILES+=		opt_bap.c
1151.16SrilligFILES+=		opt_bbb.c
1161.16SrilligFILES+=		opt_bc.c
1171.16SrilligFILES+=		opt_bs.c
1181.16SrilligFILES+=		opt_cdb.c
1191.16SrilligFILES+=		opt_ce.c
1201.16SrilligFILES+=		opt_cs.c
1211.16SrilligFILES+=		opt_dj.c
1221.16SrilligFILES+=		opt_eei.c
1231.16SrilligFILES+=		opt_ei.c
1241.16SrilligFILES+=		opt_fbs.c
1251.16SrilligFILES+=		opt_fc1.c
1261.16SrilligFILES+=		opt_fcb.c
1271.16SrilligFILES+=		opt_ip.c
1281.16SrilligFILES+=		opt_lp.c
1291.16SrilligFILES+=		opt_lpl.c
1301.16SrilligFILES+=		opt_pcs.c
1311.16SrilligFILES+=		opt_psl.c
1321.16SrilligFILES+=		opt_sc.c
1331.16SrilligFILES+=		opt_sob.c
1341.16SrilligFILES+=		opt_ut.c
1351.16SrilligFILES+=		opt_v.c
1361.1SkamilFILES+=		parens.0
1371.1SkamilFILES+=		parens.0.stdout
1381.1SkamilFILES+=		parens.0.pro
1391.1SkamilFILES+=		pcs.0
1401.1SkamilFILES+=		pcs.0.stdout
1411.1SkamilFILES+=		pcs.0.pro
1421.12SrilligFILES+=		ps_ind_level.0
1431.12SrilligFILES+=		ps_ind_level.0.pro
1441.12SrilligFILES+=		ps_ind_level.0.stdout
1451.1SkamilFILES+=		struct.0
1461.1SkamilFILES+=		struct.0.stdout
1471.1SkamilFILES+=		surplusbad.0
1481.1SkamilFILES+=		surplusbad.0.stdout
1491.1SkamilFILES+=		surplusbad.0.pro
1501.8SrilligFILES+=		token-binary_op.0
1511.8SrilligFILES+=		token-binary_op.0.pro
1521.8SrilligFILES+=		token-binary_op.0.stdout
1531.8SrilligFILES+=		token-case_label.0
1541.8SrilligFILES+=		token-case_label.0.pro
1551.8SrilligFILES+=		token-case_label.0.stdout
1561.8SrilligFILES+=		token-colon.0
1571.8SrilligFILES+=		token-colon.0.pro
1581.8SrilligFILES+=		token-colon.0.stdout
1591.8SrilligFILES+=		token-comma.0
1601.8SrilligFILES+=		token-comma.0.pro
1611.8SrilligFILES+=		token-comma.0.stdout
1621.8SrilligFILES+=		token-decl.0
1631.8SrilligFILES+=		token-decl.0.pro
1641.8SrilligFILES+=		token-decl.0.stdout
1651.8SrilligFILES+=		token-do_stmt.0
1661.8SrilligFILES+=		token-do_stmt.0.pro
1671.8SrilligFILES+=		token-do_stmt.0.stdout
1681.8SrilligFILES+=		token-end_of_file.0
1691.8SrilligFILES+=		token-end_of_file.0.pro
1701.8SrilligFILES+=		token-end_of_file.0.stdout
1711.8SrilligFILES+=		token-for_exprs.0
1721.8SrilligFILES+=		token-for_exprs.0.pro
1731.8SrilligFILES+=		token-for_exprs.0.stdout
1741.8SrilligFILES+=		token-form_feed.0
1751.8SrilligFILES+=		token-form_feed.0.pro
1761.8SrilligFILES+=		token-form_feed.0.stdout
1771.8SrilligFILES+=		token-funcname.0
1781.8SrilligFILES+=		token-funcname.0.pro
1791.8SrilligFILES+=		token-funcname.0.stdout
1801.8SrilligFILES+=		token-if_expr.0
1811.8SrilligFILES+=		token-if_expr.0.pro
1821.8SrilligFILES+=		token-if_expr.0.stdout
1831.8SrilligFILES+=		token-if_expr_stmt.0
1841.8SrilligFILES+=		token-if_expr_stmt.0.pro
1851.8SrilligFILES+=		token-if_expr_stmt.0.stdout
1861.8SrilligFILES+=		token-if_expr_stmt_else.0
1871.8SrilligFILES+=		token-if_expr_stmt_else.0.pro
1881.8SrilligFILES+=		token-if_expr_stmt_else.0.stdout
1891.8SrilligFILES+=		token-keyword_do.0
1901.8SrilligFILES+=		token-keyword_do.0.pro
1911.8SrilligFILES+=		token-keyword_do.0.stdout
1921.8SrilligFILES+=		token-keyword_do_else.0
1931.8SrilligFILES+=		token-keyword_do_else.0.pro
1941.8SrilligFILES+=		token-keyword_do_else.0.stdout
1951.8SrilligFILES+=		token-keyword_else.0
1961.8SrilligFILES+=		token-keyword_else.0.pro
1971.8SrilligFILES+=		token-keyword_else.0.stdout
1981.8SrilligFILES+=		token-keyword_for_if_while.0
1991.8SrilligFILES+=		token-keyword_for_if_while.0.pro
2001.8SrilligFILES+=		token-keyword_for_if_while.0.stdout
2011.8SrilligFILES+=		token-keyword_struct_union_enum.0
2021.8SrilligFILES+=		token-keyword_struct_union_enum.0.pro
2031.8SrilligFILES+=		token-keyword_struct_union_enum.0.stdout
2041.8SrilligFILES+=		token-lbrace.0
2051.8SrilligFILES+=		token-lbrace.0.pro
2061.8SrilligFILES+=		token-lbrace.0.stdout
2071.8SrilligFILES+=		token-lparen.0
2081.8SrilligFILES+=		token-lparen.0.pro
2091.8SrilligFILES+=		token-lparen.0.stdout
2101.8SrilligFILES+=		token-newline.0
2111.8SrilligFILES+=		token-newline.0.pro
2121.8SrilligFILES+=		token-newline.0.stdout
2131.8SrilligFILES+=		token-period.0
2141.8SrilligFILES+=		token-period.0.pro
2151.8SrilligFILES+=		token-period.0.stdout
2161.8SrilligFILES+=		token-postfix_op.0
2171.8SrilligFILES+=		token-postfix_op.0.pro
2181.8SrilligFILES+=		token-postfix_op.0.stdout
2191.8SrilligFILES+=		token-preprocessing.0
2201.8SrilligFILES+=		token-preprocessing.0.pro
2211.8SrilligFILES+=		token-preprocessing.0.stdout
2221.8SrilligFILES+=		token-question.0
2231.8SrilligFILES+=		token-question.0.pro
2241.8SrilligFILES+=		token-question.0.stdout
2251.8SrilligFILES+=		token-rbrace.0
2261.8SrilligFILES+=		token-rbrace.0.pro
2271.8SrilligFILES+=		token-rbrace.0.stdout
2281.8SrilligFILES+=		token-rparen.0
2291.8SrilligFILES+=		token-rparen.0.pro
2301.8SrilligFILES+=		token-rparen.0.stdout
2311.8SrilligFILES+=		token-semicolon.0
2321.8SrilligFILES+=		token-semicolon.0.pro
2331.8SrilligFILES+=		token-semicolon.0.stdout
2341.8SrilligFILES+=		token-stmt.0
2351.8SrilligFILES+=		token-stmt.0.pro
2361.8SrilligFILES+=		token-stmt.0.stdout
2371.8SrilligFILES+=		token-stmt_list.0
2381.8SrilligFILES+=		token-stmt_list.0.pro
2391.8SrilligFILES+=		token-stmt_list.0.stdout
2401.8SrilligFILES+=		token-storage_class.0
2411.8SrilligFILES+=		token-storage_class.0.pro
2421.8SrilligFILES+=		token-storage_class.0.stdout
2431.8SrilligFILES+=		token-string_prefix.0
2441.8SrilligFILES+=		token-string_prefix.0.pro
2451.8SrilligFILES+=		token-string_prefix.0.stdout
2461.8SrilligFILES+=		token-switch_expr.0
2471.8SrilligFILES+=		token-switch_expr.0.pro
2481.8SrilligFILES+=		token-switch_expr.0.stdout
2491.8SrilligFILES+=		token-type_def.0
2501.8SrilligFILES+=		token-type_def.0.pro
2511.8SrilligFILES+=		token-type_def.0.stdout
2521.8SrilligFILES+=		token-unary_op.0
2531.8SrilligFILES+=		token-unary_op.0.pro
2541.8SrilligFILES+=		token-unary_op.0.stdout
2551.8SrilligFILES+=		token-while_expr.0
2561.8SrilligFILES+=		token-while_expr.0.pro
2571.8SrilligFILES+=		token-while_expr.0.stdout
2581.18SrilligFILES+=		token_comment.c
2591.17SrilligFILES+=		token_ident.c
2601.1SkamilFILES+=		types_from_file.0
2611.1SkamilFILES+=		types_from_file.0.stdout
2621.1SkamilFILES+=		types_from_file.0.list
2631.1SkamilFILES+=		types_from_file.0.pro
2641.1SkamilFILES+=		wchar.0
2651.1SkamilFILES+=		wchar.0.stdout
2661.1Skamil
2671.7Srilligadd-test: .PHONY
2681.7Srillig	@set -eu; \
2691.7Srillig	test=${NAME:Q}; \
2701.7Srillig	[ "$$test" ] || { \
2711.7Srillig		echo "usage: ${MAKE} add-test NAME=<name>"; \
2721.7Srillig		exit; \
2731.7Srillig	}; \
2741.7Srillig	\
2751.7Srillig	if [ -f "$$test" ]; then \
2761.7Srillig		echo "error: test $$test already exists." 1>&2; \
2771.7Srillig		exit 1; \
2781.7Srillig	fi; \
2791.7Srillig	\
2801.7Srillig	echo "=> Adding test $$test"; \
2811.7Srillig	printf '%s\n' \
2821.7Srillig		'/* $$''NetBSD$$ */' \
2831.7Srillig		'/* $$''FreeBSD$$ */' \
2841.7Srillig		'' \
2851.7Srillig		'/*' \
2861.7Srillig		' * TODO: Explain the purpose of the test.' \
2871.9Srillig		' */' \
2881.7Srillig		'' \
2891.7Srillig		'// TODO: Add some code that passes.' \
2901.7Srillig	> "$$test"; \
2911.7Srillig	printf '%s\n' \
2921.7Srillig		'/* $$''NetBSD$$ */' \
2931.7Srillig		'/* $$''FreeBSD$$ */' \
2941.7Srillig		'' \
2951.7Srillig		'/*' \
2961.7Srillig		' * TODO: Explain the command line options of the test.' \
2971.7Srillig		' */' \
2981.7Srillig		'' \
2991.7Srillig		'/* TODO: Add some command line options */' \
3001.7Srillig	> "$$test.pro"; \
3011.7Srillig	cat < "$$test" > "$$test.stdout"; \
3021.7Srillig	cvs add "$$test" "$$test.pro" "$$test.stdout"; \
3031.7Srillig	printf '%s\n' \
3041.7Srillig		'/^FILES+=/i' \
3051.7Srillig		"FILES+=		$$test" \
3061.7Srillig		"FILES+=		$$test.pro" \
3071.7Srillig		"FILES+=		$$test.stdout" \
3081.7Srillig		'.' 'w' 'q' \
3091.7Srillig	| ed Makefile; \
3101.7Srillig	${MAKE} sync-mi
3111.7Srillig
3121.7Srillig# Note: only works for adding tests.
3131.7Srillig# To remove a test, the $$mi file must be edited manually.
3141.7Srilligsync-mi: .PHONY
3151.7Srillig	@set -eu;							\
3161.7Srillig	cd "${MAKEFILE:tA:H}/../../..";					\
3171.7Srillig	mi="distrib/sets/lists/tests/mi";				\
3181.7Srillig	cvs update "$$mi";						\
3191.7Srillig	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
3201.7Srillig	cat "$$mi" > "$$mi.tmp";					\
3211.7Srillig	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
3221.7Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
3231.7Srillig	mv "$$mi.tmp" "$$mi";						\
3241.7Srillig	cvs diff "$$mi" || true
3251.7Srillig
3261.1Skamil.include <bsd.test.mk>
327