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