Makefile revision 1.20
11.20Srillig# $NetBSD: Makefile,v 1.20 2021/10/18 22:30:34 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+= ncs.0 411.1SkamilFILES+= ncs.0.stdout 421.1SkamilFILES+= ncs.0.pro 431.1SkamilFILES+= offsetof.0 441.1SkamilFILES+= offsetof.0.stdout 451.3SrilligFILES+= opt--version.0 461.3SrilligFILES+= opt--version.0.pro 471.3SrilligFILES+= opt--version.0.stdout 481.3SrilligFILES+= opt-P.0 491.3SrilligFILES+= opt-P.0.pro 501.3SrilligFILES+= opt-P.0.stdout 511.3SrilligFILES+= opt-T.0 521.3SrilligFILES+= opt-T.0.pro 531.3SrilligFILES+= opt-T.0.stdout 541.3SrilligFILES+= opt-U.0 551.3SrilligFILES+= opt-U.0.list 561.3SrilligFILES+= opt-U.0.pro 571.3SrilligFILES+= opt-U.0.stdout 581.6SrilligFILES+= opt-bap+sob.0 591.6SrilligFILES+= opt-bap+sob.0.pro 601.6SrilligFILES+= opt-bap+sob.0.stdout 611.3SrilligFILES+= opt-bl.0 621.3SrilligFILES+= opt-bl.0.pro 631.3SrilligFILES+= opt-bl.0.stdout 641.3SrilligFILES+= opt-br.0 651.3SrilligFILES+= opt-br.0.pro 661.3SrilligFILES+= opt-br.0.stdout 671.3SrilligFILES+= opt-c.0 681.3SrilligFILES+= opt-c.0.pro 691.3SrilligFILES+= opt-c.0.stdout 701.3SrilligFILES+= opt-cd.0 711.3SrilligFILES+= opt-cd.0.pro 721.3SrilligFILES+= opt-cd.0.stdout 731.3SrilligFILES+= opt-ci.0 741.3SrilligFILES+= opt-ci.0.pro 751.3SrilligFILES+= opt-ci.0.stdout 761.3SrilligFILES+= opt-cli.0 771.3SrilligFILES+= opt-cli.0.pro 781.3SrilligFILES+= opt-cli.0.stdout 791.3SrilligFILES+= opt-d.0 801.3SrilligFILES+= opt-d.0.pro 811.3SrilligFILES+= opt-d.0.stdout 821.3SrilligFILES+= opt-di.0 831.3SrilligFILES+= opt-di.0.pro 841.3SrilligFILES+= opt-di.0.stdout 851.3SrilligFILES+= opt-i.0 861.3SrilligFILES+= opt-i.0.pro 871.3SrilligFILES+= opt-i.0.stdout 881.3SrilligFILES+= opt-l.0 891.3SrilligFILES+= opt-l.0.pro 901.3SrilligFILES+= opt-l.0.stdout 911.3SrilligFILES+= opt-lc.0 921.3SrilligFILES+= opt-lc.0.pro 931.3SrilligFILES+= opt-lc.0.stdout 941.3SrilligFILES+= opt-ldi.0 951.3SrilligFILES+= opt-ldi.0.pro 961.3SrilligFILES+= opt-ldi.0.stdout 971.3SrilligFILES+= opt-npro.0 981.3SrilligFILES+= opt-npro.0.pro 991.3SrilligFILES+= opt-npro.0.stdout 1001.3SrilligFILES+= opt-ta.0 1011.3SrilligFILES+= opt-ta.0.pro 1021.3SrilligFILES+= opt-ta.0.stdout 1031.3SrilligFILES+= opt-ts.0 1041.3SrilligFILES+= opt-ts.0.pro 1051.3SrilligFILES+= opt-ts.0.stdout 1061.13SrilligFILES+= opt.0 1071.13SrilligFILES+= opt.0.pro 1081.13SrilligFILES+= opt.0.stdout 1091.16SrilligFILES+= opt_bacc.c 1101.16SrilligFILES+= opt_bad.c 1111.16SrilligFILES+= opt_badp.c 1121.16SrilligFILES+= opt_bap.c 1131.16SrilligFILES+= opt_bbb.c 1141.16SrilligFILES+= opt_bc.c 1151.16SrilligFILES+= opt_bs.c 1161.16SrilligFILES+= opt_cdb.c 1171.16SrilligFILES+= opt_ce.c 1181.16SrilligFILES+= opt_cs.c 1191.16SrilligFILES+= opt_dj.c 1201.16SrilligFILES+= opt_eei.c 1211.16SrilligFILES+= opt_ei.c 1221.16SrilligFILES+= opt_fbs.c 1231.16SrilligFILES+= opt_fc1.c 1241.16SrilligFILES+= opt_fcb.c 1251.16SrilligFILES+= opt_ip.c 1261.16SrilligFILES+= opt_lp.c 1271.16SrilligFILES+= opt_lpl.c 1281.16SrilligFILES+= opt_pcs.c 1291.16SrilligFILES+= opt_psl.c 1301.16SrilligFILES+= opt_sc.c 1311.16SrilligFILES+= opt_sob.c 1321.16SrilligFILES+= opt_ut.c 1331.16SrilligFILES+= opt_v.c 1341.1SkamilFILES+= parens.0 1351.1SkamilFILES+= parens.0.stdout 1361.1SkamilFILES+= parens.0.pro 1371.1SkamilFILES+= pcs.0 1381.1SkamilFILES+= pcs.0.stdout 1391.1SkamilFILES+= pcs.0.pro 1401.12SrilligFILES+= ps_ind_level.0 1411.12SrilligFILES+= ps_ind_level.0.pro 1421.12SrilligFILES+= ps_ind_level.0.stdout 1431.1SkamilFILES+= struct.0 1441.1SkamilFILES+= struct.0.stdout 1451.1SkamilFILES+= surplusbad.0 1461.1SkamilFILES+= surplusbad.0.stdout 1471.1SkamilFILES+= surplusbad.0.pro 1481.19SrilligFILES+= t_options.awk 1491.20SrilligFILES+= token_binary_op.c 1501.20SrilligFILES+= token_case_label.c 1511.20SrilligFILES+= token_colon.c 1521.20SrilligFILES+= token_comma.c 1531.18SrilligFILES+= token_comment.c 1541.20SrilligFILES+= token_decl.c 1551.20SrilligFILES+= token_do_stmt.c 1561.20SrilligFILES+= token_end_of_file.c 1571.20SrilligFILES+= token_for_exprs.c 1581.20SrilligFILES+= token_form_feed.c 1591.20SrilligFILES+= token_funcname.c 1601.17SrilligFILES+= token_ident.c 1611.20SrilligFILES+= token_if_expr.c 1621.20SrilligFILES+= token_if_expr_stmt.c 1631.20SrilligFILES+= token_if_expr_stmt_else.c 1641.20SrilligFILES+= token_keyword_do.c 1651.20SrilligFILES+= token_keyword_do_else.c 1661.20SrilligFILES+= token_keyword_else.c 1671.20SrilligFILES+= token_keyword_for_if_while.c 1681.20SrilligFILES+= token_keyword_struct_union_enum.c 1691.20SrilligFILES+= token_lbrace.c 1701.20SrilligFILES+= token_lparen.c 1711.20SrilligFILES+= token_newline.c 1721.20SrilligFILES+= token_period.c 1731.20SrilligFILES+= token_postfix_op.c 1741.20SrilligFILES+= token_preprocessing.c 1751.20SrilligFILES+= token_question.c 1761.20SrilligFILES+= token_rbrace.c 1771.20SrilligFILES+= token_rparen.c 1781.20SrilligFILES+= token_semicolon.c 1791.20SrilligFILES+= token_stmt.c 1801.20SrilligFILES+= token_stmt_list.c 1811.20SrilligFILES+= token_storage_class.c 1821.20SrilligFILES+= token_string_prefix.c 1831.20SrilligFILES+= token_switch_expr.c 1841.20SrilligFILES+= token_type_def.c 1851.20SrilligFILES+= token_unary_op.c 1861.20SrilligFILES+= token_while_expr.c 1871.1SkamilFILES+= types_from_file.0 1881.1SkamilFILES+= types_from_file.0.stdout 1891.1SkamilFILES+= types_from_file.0.list 1901.1SkamilFILES+= types_from_file.0.pro 1911.1SkamilFILES+= wchar.0 1921.1SkamilFILES+= wchar.0.stdout 1931.1Skamil 1941.7Srilligadd-test: .PHONY 1951.7Srillig @set -eu; \ 1961.7Srillig test=${NAME:Q}; \ 1971.7Srillig [ "$$test" ] || { \ 1981.7Srillig echo "usage: ${MAKE} add-test NAME=<name>"; \ 1991.7Srillig exit; \ 2001.7Srillig }; \ 2011.7Srillig \ 2021.7Srillig if [ -f "$$test" ]; then \ 2031.7Srillig echo "error: test $$test already exists." 1>&2; \ 2041.7Srillig exit 1; \ 2051.7Srillig fi; \ 2061.7Srillig \ 2071.7Srillig echo "=> Adding test $$test"; \ 2081.7Srillig printf '%s\n' \ 2091.7Srillig '/* $$''NetBSD$$ */' \ 2101.7Srillig '/* $$''FreeBSD$$ */' \ 2111.7Srillig '' \ 2121.7Srillig '/*' \ 2131.7Srillig ' * TODO: Explain the purpose of the test.' \ 2141.9Srillig ' */' \ 2151.7Srillig '' \ 2161.7Srillig '// TODO: Add some code that passes.' \ 2171.7Srillig > "$$test"; \ 2181.7Srillig printf '%s\n' \ 2191.7Srillig '/* $$''NetBSD$$ */' \ 2201.7Srillig '/* $$''FreeBSD$$ */' \ 2211.7Srillig '' \ 2221.7Srillig '/*' \ 2231.7Srillig ' * TODO: Explain the command line options of the test.' \ 2241.7Srillig ' */' \ 2251.7Srillig '' \ 2261.7Srillig '/* TODO: Add some command line options */' \ 2271.7Srillig > "$$test.pro"; \ 2281.7Srillig cat < "$$test" > "$$test.stdout"; \ 2291.7Srillig cvs add "$$test" "$$test.pro" "$$test.stdout"; \ 2301.7Srillig printf '%s\n' \ 2311.7Srillig '/^FILES+=/i' \ 2321.7Srillig "FILES+= $$test" \ 2331.7Srillig "FILES+= $$test.pro" \ 2341.7Srillig "FILES+= $$test.stdout" \ 2351.7Srillig '.' 'w' 'q' \ 2361.7Srillig | ed Makefile; \ 2371.7Srillig ${MAKE} sync-mi 2381.7Srillig 2391.7Srillig# Note: only works for adding tests. 2401.7Srillig# To remove a test, the $$mi file must be edited manually. 2411.7Srilligsync-mi: .PHONY 2421.7Srillig @set -eu; \ 2431.7Srillig cd "${MAKEFILE:tA:H}/../../.."; \ 2441.7Srillig mi="distrib/sets/lists/tests/mi"; \ 2451.7Srillig cvs update "$$mi"; \ 2461.7Srillig fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 2471.7Srillig cat "$$mi" > "$$mi.tmp"; \ 2481.7Srillig printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp"; \ 2491.7Srillig distrib/sets/fmt-list "$$mi.tmp"; \ 2501.7Srillig mv "$$mi.tmp" "$$mi"; \ 2511.7Srillig cvs diff "$$mi" || true 2521.7Srillig 2531.1Skamil.include <bsd.test.mk> 254