Makefile revision 1.13
1# $NetBSD: Makefile,v 1.13 2021/10/07 18:07:25 rillig Exp $ 2 3.include <bsd.own.mk> 4 5TESTSDIR= ${TESTSBASE}/usr.bin/indent 6TESTS_SH= t_indent 7 8FILESDIR= ${TESTSDIR} 9FILES= binary.0 10FILES+= binary.0.stdout 11FILES+= block.0 12FILES+= block.0.stdout 13FILES+= comment-line-end.0 14FILES+= comment-line-end.0.stdout 15FILES+= comments.0 16FILES+= comments.0.pro 17FILES+= comments.0.stdout 18FILES+= declarations.0 19FILES+= declarations.0.stderr 20FILES+= declarations.0.stdout 21FILES+= elsecomment.0 22FILES+= elsecomment.0.stdout 23FILES+= elsecomment.0.pro 24FILES+= f_decls.0 25FILES+= f_decls.0.stdout 26FILES+= float.0 27FILES+= float.0.stdout 28FILES+= indent_variables.0 29FILES+= indent_variables.0.pro 30FILES+= indent_variables.0.stdout 31FILES+= label.0 32FILES+= label.0.stdout 33FILES+= label.0.pro 34FILES+= lex.0 35FILES+= lex.0.pro 36FILES+= lex.0.stdout 37FILES+= lex_char.0 38FILES+= lex_char.0.pro 39FILES+= lex_char.0.stdout 40FILES+= lex_string.0 41FILES+= lex_string.0.pro 42FILES+= lex_string.0.stdout 43FILES+= lineno.0 44FILES+= lineno.0.pro 45FILES+= lineno.0.stdout 46FILES+= list_head.0 47FILES+= list_head.0.stdout 48FILES+= ncs.0 49FILES+= ncs.0.stdout 50FILES+= ncs.0.pro 51FILES+= offsetof.0 52FILES+= offsetof.0.stdout 53FILES+= opt--version.0 54FILES+= opt--version.0.pro 55FILES+= opt--version.0.stdout 56FILES+= opt-P.0 57FILES+= opt-P.0.pro 58FILES+= opt-P.0.stdout 59FILES+= opt-T.0 60FILES+= opt-T.0.pro 61FILES+= opt-T.0.stdout 62FILES+= opt-U.0 63FILES+= opt-U.0.list 64FILES+= opt-U.0.pro 65FILES+= opt-U.0.stdout 66FILES+= opt-bacc.0 67FILES+= opt-bacc.0.pro 68FILES+= opt-bacc.0.stdout 69FILES+= opt-bad.0 70FILES+= opt-bad.0.pro 71FILES+= opt-bad.0.stdout 72FILES+= opt-badp.0 73FILES+= opt-badp.0.pro 74FILES+= opt-badp.0.stdout 75FILES+= opt-bap+sob.0 76FILES+= opt-bap+sob.0.pro 77FILES+= opt-bap+sob.0.stdout 78FILES+= opt-bap.0 79FILES+= opt-bap.0.pro 80FILES+= opt-bap.0.stdout 81FILES+= opt-bbb.0 82FILES+= opt-bbb.0.pro 83FILES+= opt-bbb.0.stdout 84FILES+= opt-bc.0 85FILES+= opt-bc.0.pro 86FILES+= opt-bc.0.stdout 87FILES+= opt-bl.0 88FILES+= opt-bl.0.pro 89FILES+= opt-bl.0.stdout 90FILES+= opt-br.0 91FILES+= opt-br.0.pro 92FILES+= opt-br.0.stdout 93FILES+= opt-bs.0 94FILES+= opt-bs.0.pro 95FILES+= opt-bs.0.stdout 96FILES+= opt-c.0 97FILES+= opt-c.0.pro 98FILES+= opt-c.0.stdout 99FILES+= opt-cd.0 100FILES+= opt-cd.0.pro 101FILES+= opt-cd.0.stdout 102FILES+= opt-cdb.0 103FILES+= opt-cdb.0.pro 104FILES+= opt-cdb.0.stdout 105FILES+= opt-ce.0 106FILES+= opt-ce.0.pro 107FILES+= opt-ce.0.stdout 108FILES+= opt-ci.0 109FILES+= opt-ci.0.pro 110FILES+= opt-ci.0.stdout 111FILES+= opt-cli.0 112FILES+= opt-cli.0.pro 113FILES+= opt-cli.0.stdout 114FILES+= opt-cs.0 115FILES+= opt-cs.0.pro 116FILES+= opt-cs.0.stdout 117FILES+= opt-d.0 118FILES+= opt-d.0.pro 119FILES+= opt-d.0.stdout 120FILES+= opt-di.0 121FILES+= opt-di.0.pro 122FILES+= opt-di.0.stdout 123FILES+= opt-dj.0 124FILES+= opt-dj.0.pro 125FILES+= opt-dj.0.stdout 126FILES+= opt-eei.0 127FILES+= opt-eei.0.pro 128FILES+= opt-eei.0.stdout 129FILES+= opt-ei.0 130FILES+= opt-ei.0.pro 131FILES+= opt-ei.0.stdout 132FILES+= opt-fbs.0 133FILES+= opt-fbs.0.pro 134FILES+= opt-fbs.0.stdout 135FILES+= opt-fc1.0 136FILES+= opt-fc1.0.pro 137FILES+= opt-fc1.0.stdout 138FILES+= opt-fcb.0 139FILES+= opt-fcb.0.pro 140FILES+= opt-fcb.0.stdout 141FILES+= opt-i.0 142FILES+= opt-i.0.pro 143FILES+= opt-i.0.stdout 144FILES+= opt-ip.0 145FILES+= opt-ip.0.pro 146FILES+= opt-ip.0.stdout 147FILES+= opt-l.0 148FILES+= opt-l.0.pro 149FILES+= opt-l.0.stdout 150FILES+= opt-lc.0 151FILES+= opt-lc.0.pro 152FILES+= opt-lc.0.stdout 153FILES+= opt-ldi.0 154FILES+= opt-ldi.0.pro 155FILES+= opt-ldi.0.stdout 156FILES+= opt-lp.0 157FILES+= opt-lp.0.pro 158FILES+= opt-lp.0.stdout 159FILES+= opt-lpl.0 160FILES+= opt-lpl.0.pro 161FILES+= opt-lpl.0.stdout 162FILES+= opt-nbacc.0 163FILES+= opt-nbacc.0.pro 164FILES+= opt-nbacc.0.stdout 165FILES+= opt-nbad.0 166FILES+= opt-nbad.0.pro 167FILES+= opt-nbad.0.stdout 168FILES+= opt-nbadp.0 169FILES+= opt-nbadp.0.pro 170FILES+= opt-nbadp.0.stdout 171FILES+= opt-nbap.0 172FILES+= opt-nbap.0.pro 173FILES+= opt-nbap.0.stdout 174FILES+= opt-nbbb.0 175FILES+= opt-nbbb.0.pro 176FILES+= opt-nbbb.0.stdout 177FILES+= opt-nbc.0 178FILES+= opt-nbc.0.pro 179FILES+= opt-nbc.0.stdout 180FILES+= opt-nbs.0 181FILES+= opt-nbs.0.pro 182FILES+= opt-nbs.0.stdout 183FILES+= opt-ncdb.0 184FILES+= opt-ncdb.0.pro 185FILES+= opt-ncdb.0.stdout 186FILES+= opt-nce.0 187FILES+= opt-nce.0.pro 188FILES+= opt-nce.0.stdout 189FILES+= opt-ncs.0 190FILES+= opt-ncs.0.pro 191FILES+= opt-ncs.0.stdout 192FILES+= opt-ndj.0 193FILES+= opt-ndj.0.pro 194FILES+= opt-ndj.0.stdout 195FILES+= opt-neei.0 196FILES+= opt-neei.0.pro 197FILES+= opt-neei.0.stdout 198FILES+= opt-nei.0 199FILES+= opt-nei.0.pro 200FILES+= opt-nei.0.stdout 201FILES+= opt-nfbs.0 202FILES+= opt-nfbs.0.pro 203FILES+= opt-nfbs.0.stdout 204FILES+= opt-nfc1.0 205FILES+= opt-nfc1.0.pro 206FILES+= opt-nfc1.0.stdout 207FILES+= opt-nfcb.0 208FILES+= opt-nfcb.0.pro 209FILES+= opt-nfcb.0.stdout 210FILES+= opt-nip.0 211FILES+= opt-nip.0.pro 212FILES+= opt-nip.0.stdout 213FILES+= opt-nlp.0 214FILES+= opt-nlp.0.pro 215FILES+= opt-nlp.0.stdout 216FILES+= opt-nlpl.0 217FILES+= opt-nlpl.0.pro 218FILES+= opt-nlpl.0.stdout 219FILES+= opt-npcs.0 220FILES+= opt-npcs.0.pro 221FILES+= opt-npcs.0.stdout 222FILES+= opt-npro.0 223FILES+= opt-npro.0.pro 224FILES+= opt-npro.0.stdout 225FILES+= opt-npsl.0 226FILES+= opt-npsl.0.pro 227FILES+= opt-npsl.0.stdout 228FILES+= opt-nsc.0 229FILES+= opt-nsc.0.pro 230FILES+= opt-nsc.0.stdout 231FILES+= opt-nsob.0 232FILES+= opt-nsob.0.pro 233FILES+= opt-nsob.0.stdout 234FILES+= opt-nut.0 235FILES+= opt-nut.0.pro 236FILES+= opt-nut.0.stdout 237FILES+= opt-nv.0 238FILES+= opt-nv.0.pro 239FILES+= opt-nv.0.stdout 240FILES+= opt-pcs.0 241FILES+= opt-pcs.0.pro 242FILES+= opt-pcs.0.stdout 243FILES+= opt-psl.0 244FILES+= opt-psl.0.pro 245FILES+= opt-psl.0.stdout 246FILES+= opt-sc.0 247FILES+= opt-sc.0.pro 248FILES+= opt-sc.0.stdout 249FILES+= opt-sob.0 250FILES+= opt-sob.0.pro 251FILES+= opt-sob.0.stdout 252FILES+= opt-ta.0 253FILES+= opt-ta.0.pro 254FILES+= opt-ta.0.stdout 255FILES+= opt-ts.0 256FILES+= opt-ts.0.pro 257FILES+= opt-ts.0.stdout 258FILES+= opt-ut.0 259FILES+= opt-ut.0.pro 260FILES+= opt-ut.0.stdout 261FILES+= opt-v.0 262FILES+= opt-v.0.pro 263FILES+= opt-v.0.stdout 264FILES+= opt.0 265FILES+= opt.0.pro 266FILES+= opt.0.stdout 267FILES+= parens.0 268FILES+= parens.0.stdout 269FILES+= parens.0.pro 270FILES+= pcs.0 271FILES+= pcs.0.stdout 272FILES+= pcs.0.pro 273FILES+= ps_ind_level.0 274FILES+= ps_ind_level.0.pro 275FILES+= ps_ind_level.0.stdout 276FILES+= cs.0 277FILES+= cs.0.stdout 278FILES+= cs.0.pro 279FILES+= struct.0 280FILES+= struct.0.stdout 281FILES+= surplusbad.0 282FILES+= surplusbad.0.stdout 283FILES+= surplusbad.0.pro 284FILES+= token-binary_op.0 285FILES+= token-binary_op.0.pro 286FILES+= token-binary_op.0.stdout 287FILES+= token-case_label.0 288FILES+= token-case_label.0.pro 289FILES+= token-case_label.0.stdout 290FILES+= token-colon.0 291FILES+= token-colon.0.pro 292FILES+= token-colon.0.stdout 293FILES+= token-comma.0 294FILES+= token-comma.0.pro 295FILES+= token-comma.0.stdout 296FILES+= token-comment.0 297FILES+= token-comment.0.pro 298FILES+= token-comment.0.stdout 299FILES+= token-decl.0 300FILES+= token-decl.0.pro 301FILES+= token-decl.0.stdout 302FILES+= token-do_stmt.0 303FILES+= token-do_stmt.0.pro 304FILES+= token-do_stmt.0.stdout 305FILES+= token-end_of_file.0 306FILES+= token-end_of_file.0.pro 307FILES+= token-end_of_file.0.stdout 308FILES+= token-for_exprs.0 309FILES+= token-for_exprs.0.pro 310FILES+= token-for_exprs.0.stdout 311FILES+= token-form_feed.0 312FILES+= token-form_feed.0.pro 313FILES+= token-form_feed.0.stdout 314FILES+= token-funcname.0 315FILES+= token-funcname.0.pro 316FILES+= token-funcname.0.stdout 317FILES+= token-ident.0 318FILES+= token-ident.0.pro 319FILES+= token-ident.0.stdout 320FILES+= token-if_expr.0 321FILES+= token-if_expr.0.pro 322FILES+= token-if_expr.0.stdout 323FILES+= token-if_expr_stmt.0 324FILES+= token-if_expr_stmt.0.pro 325FILES+= token-if_expr_stmt.0.stdout 326FILES+= token-if_expr_stmt_else.0 327FILES+= token-if_expr_stmt_else.0.pro 328FILES+= token-if_expr_stmt_else.0.stdout 329FILES+= token-keyword_do.0 330FILES+= token-keyword_do.0.pro 331FILES+= token-keyword_do.0.stdout 332FILES+= token-keyword_do_else.0 333FILES+= token-keyword_do_else.0.pro 334FILES+= token-keyword_do_else.0.stdout 335FILES+= token-keyword_else.0 336FILES+= token-keyword_else.0.pro 337FILES+= token-keyword_else.0.stdout 338FILES+= token-keyword_for_if_while.0 339FILES+= token-keyword_for_if_while.0.pro 340FILES+= token-keyword_for_if_while.0.stdout 341FILES+= token-keyword_struct_union_enum.0 342FILES+= token-keyword_struct_union_enum.0.pro 343FILES+= token-keyword_struct_union_enum.0.stdout 344FILES+= token-lbrace.0 345FILES+= token-lbrace.0.pro 346FILES+= token-lbrace.0.stdout 347FILES+= token-lparen.0 348FILES+= token-lparen.0.pro 349FILES+= token-lparen.0.stdout 350FILES+= token-newline.0 351FILES+= token-newline.0.pro 352FILES+= token-newline.0.stdout 353FILES+= token-period.0 354FILES+= token-period.0.pro 355FILES+= token-period.0.stdout 356FILES+= token-postfix_op.0 357FILES+= token-postfix_op.0.pro 358FILES+= token-postfix_op.0.stdout 359FILES+= token-preprocessing.0 360FILES+= token-preprocessing.0.pro 361FILES+= token-preprocessing.0.stdout 362FILES+= token-question.0 363FILES+= token-question.0.pro 364FILES+= token-question.0.stdout 365FILES+= token-rbrace.0 366FILES+= token-rbrace.0.pro 367FILES+= token-rbrace.0.stdout 368FILES+= token-rparen.0 369FILES+= token-rparen.0.pro 370FILES+= token-rparen.0.stdout 371FILES+= token-semicolon.0 372FILES+= token-semicolon.0.pro 373FILES+= token-semicolon.0.stdout 374FILES+= token-stmt.0 375FILES+= token-stmt.0.pro 376FILES+= token-stmt.0.stdout 377FILES+= token-stmt_list.0 378FILES+= token-stmt_list.0.pro 379FILES+= token-stmt_list.0.stdout 380FILES+= token-storage_class.0 381FILES+= token-storage_class.0.pro 382FILES+= token-storage_class.0.stdout 383FILES+= token-string_prefix.0 384FILES+= token-string_prefix.0.pro 385FILES+= token-string_prefix.0.stdout 386FILES+= token-switch_expr.0 387FILES+= token-switch_expr.0.pro 388FILES+= token-switch_expr.0.stdout 389FILES+= token-type_def.0 390FILES+= token-type_def.0.pro 391FILES+= token-type_def.0.stdout 392FILES+= token-unary_op.0 393FILES+= token-unary_op.0.pro 394FILES+= token-unary_op.0.stdout 395FILES+= token-while_expr.0 396FILES+= token-while_expr.0.pro 397FILES+= token-while_expr.0.stdout 398FILES+= types_from_file.0 399FILES+= types_from_file.0.stdout 400FILES+= types_from_file.0.list 401FILES+= types_from_file.0.pro 402FILES+= wchar.0 403FILES+= wchar.0.stdout 404 405add-test: .PHONY 406 @set -eu; \ 407 test=${NAME:Q}; \ 408 [ "$$test" ] || { \ 409 echo "usage: ${MAKE} add-test NAME=<name>"; \ 410 exit; \ 411 }; \ 412 \ 413 if [ -f "$$test" ]; then \ 414 echo "error: test $$test already exists." 1>&2; \ 415 exit 1; \ 416 fi; \ 417 \ 418 echo "=> Adding test $$test"; \ 419 printf '%s\n' \ 420 '/* $$''NetBSD$$ */' \ 421 '/* $$''FreeBSD$$ */' \ 422 '' \ 423 '/*' \ 424 ' * TODO: Explain the purpose of the test.' \ 425 ' */' \ 426 '' \ 427 '// TODO: Add some code that passes.' \ 428 > "$$test"; \ 429 printf '%s\n' \ 430 '/* $$''NetBSD$$ */' \ 431 '/* $$''FreeBSD$$ */' \ 432 '' \ 433 '/*' \ 434 ' * TODO: Explain the command line options of the test.' \ 435 ' */' \ 436 '' \ 437 '/* TODO: Add some command line options */' \ 438 > "$$test.pro"; \ 439 cat < "$$test" > "$$test.stdout"; \ 440 cvs add "$$test" "$$test.pro" "$$test.stdout"; \ 441 printf '%s\n' \ 442 '/^FILES+=/i' \ 443 "FILES+= $$test" \ 444 "FILES+= $$test.pro" \ 445 "FILES+= $$test.stdout" \ 446 '.' 'w' 'q' \ 447 | ed Makefile; \ 448 ${MAKE} sync-mi 449 450# Note: only works for adding tests. 451# To remove a test, the $$mi file must be edited manually. 452sync-mi: .PHONY 453 @set -eu; \ 454 cd "${MAKEFILE:tA:H}/../../.."; \ 455 mi="distrib/sets/lists/tests/mi"; \ 456 cvs update "$$mi"; \ 457 fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 458 cat "$$mi" > "$$mi.tmp"; \ 459 printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp"; \ 460 distrib/sets/fmt-list "$$mi.tmp"; \ 461 mv "$$mi.tmp" "$$mi"; \ 462 cvs diff "$$mi" || true 463 464.include <bsd.test.mk> 465