Home | History | Annotate | Line # | Download | only in indent
Makefile revision 1.16
      1  1.16  rillig #	$NetBSD: Makefile,v 1.16 2021/10/16 03:20:12 rillig Exp $
      2   1.1   kamil 
      3   1.1   kamil .include <bsd.own.mk>
      4   1.1   kamil 
      5   1.1   kamil TESTSDIR=	${TESTSBASE}/usr.bin/indent
      6  1.14  rillig TESTS_SH=	t_errors
      7  1.14  rillig TESTS_SH+=	t_indent
      8  1.15  rillig TESTS_SH+=	t_misc
      9  1.16  rillig TESTS_SH+=	t_options
     10   1.1   kamil 
     11   1.1   kamil FILESDIR=	${TESTSDIR}
     12   1.1   kamil FILES=		binary.0
     13   1.1   kamil FILES+=		binary.0.stdout
     14   1.5  rillig FILES+=		block.0
     15   1.5  rillig FILES+=		block.0.stdout
     16   1.2  rillig FILES+=		comment-line-end.0
     17   1.2  rillig FILES+=		comment-line-end.0.stdout
     18   1.1   kamil FILES+=		comments.0
     19   1.1   kamil FILES+=		comments.0.pro
     20   1.1   kamil FILES+=		comments.0.stdout
     21   1.1   kamil FILES+=		declarations.0
     22  1.11  rillig FILES+=		declarations.0.stderr
     23   1.1   kamil FILES+=		declarations.0.stdout
     24   1.1   kamil FILES+=		elsecomment.0
     25   1.1   kamil FILES+=		elsecomment.0.stdout
     26   1.1   kamil FILES+=		elsecomment.0.pro
     27   1.1   kamil FILES+=		f_decls.0
     28   1.1   kamil FILES+=		f_decls.0.stdout
     29   1.1   kamil FILES+=		float.0
     30   1.1   kamil FILES+=		float.0.stdout
     31   1.7  rillig FILES+=		indent_variables.0
     32   1.7  rillig FILES+=		indent_variables.0.pro
     33   1.7  rillig FILES+=		indent_variables.0.stdout
     34   1.1   kamil FILES+=		label.0
     35   1.1   kamil FILES+=		label.0.stdout
     36   1.1   kamil FILES+=		label.0.pro
     37  1.10  rillig FILES+=		lex.0
     38  1.10  rillig FILES+=		lex.0.pro
     39  1.10  rillig FILES+=		lex.0.stdout
     40   1.9  rillig FILES+=		lex_char.0
     41   1.9  rillig FILES+=		lex_char.0.pro
     42   1.9  rillig FILES+=		lex_char.0.stdout
     43   1.9  rillig FILES+=		lex_string.0
     44   1.9  rillig FILES+=		lex_string.0.pro
     45   1.9  rillig FILES+=		lex_string.0.stdout
     46   1.4  rillig FILES+=		lineno.0
     47   1.4  rillig FILES+=		lineno.0.pro
     48   1.4  rillig FILES+=		lineno.0.stdout
     49   1.1   kamil FILES+=		list_head.0
     50   1.1   kamil FILES+=		list_head.0.stdout
     51   1.1   kamil FILES+=		ncs.0
     52   1.1   kamil FILES+=		ncs.0.stdout
     53   1.1   kamil FILES+=		ncs.0.pro
     54   1.1   kamil FILES+=		offsetof.0
     55   1.1   kamil FILES+=		offsetof.0.stdout
     56   1.3  rillig FILES+=		opt--version.0
     57   1.3  rillig FILES+=		opt--version.0.pro
     58   1.3  rillig FILES+=		opt--version.0.stdout
     59   1.3  rillig FILES+=		opt-P.0
     60   1.3  rillig FILES+=		opt-P.0.pro
     61   1.3  rillig FILES+=		opt-P.0.stdout
     62   1.3  rillig FILES+=		opt-T.0
     63   1.3  rillig FILES+=		opt-T.0.pro
     64   1.3  rillig FILES+=		opt-T.0.stdout
     65   1.3  rillig FILES+=		opt-U.0
     66   1.3  rillig FILES+=		opt-U.0.list
     67   1.3  rillig FILES+=		opt-U.0.pro
     68   1.3  rillig FILES+=		opt-U.0.stdout
     69   1.6  rillig FILES+=		opt-bap+sob.0
     70   1.6  rillig FILES+=		opt-bap+sob.0.pro
     71   1.6  rillig FILES+=		opt-bap+sob.0.stdout
     72   1.3  rillig FILES+=		opt-bl.0
     73   1.3  rillig FILES+=		opt-bl.0.pro
     74   1.3  rillig FILES+=		opt-bl.0.stdout
     75   1.3  rillig FILES+=		opt-br.0
     76   1.3  rillig FILES+=		opt-br.0.pro
     77   1.3  rillig FILES+=		opt-br.0.stdout
     78   1.3  rillig FILES+=		opt-c.0
     79   1.3  rillig FILES+=		opt-c.0.pro
     80   1.3  rillig FILES+=		opt-c.0.stdout
     81   1.3  rillig FILES+=		opt-cd.0
     82   1.3  rillig FILES+=		opt-cd.0.pro
     83   1.3  rillig FILES+=		opt-cd.0.stdout
     84   1.3  rillig FILES+=		opt-ci.0
     85   1.3  rillig FILES+=		opt-ci.0.pro
     86   1.3  rillig FILES+=		opt-ci.0.stdout
     87   1.3  rillig FILES+=		opt-cli.0
     88   1.3  rillig FILES+=		opt-cli.0.pro
     89   1.3  rillig FILES+=		opt-cli.0.stdout
     90   1.3  rillig FILES+=		opt-d.0
     91   1.3  rillig FILES+=		opt-d.0.pro
     92   1.3  rillig FILES+=		opt-d.0.stdout
     93   1.3  rillig FILES+=		opt-di.0
     94   1.3  rillig FILES+=		opt-di.0.pro
     95   1.3  rillig FILES+=		opt-di.0.stdout
     96   1.3  rillig FILES+=		opt-i.0
     97   1.3  rillig FILES+=		opt-i.0.pro
     98   1.3  rillig FILES+=		opt-i.0.stdout
     99   1.3  rillig FILES+=		opt-l.0
    100   1.3  rillig FILES+=		opt-l.0.pro
    101   1.3  rillig FILES+=		opt-l.0.stdout
    102   1.3  rillig FILES+=		opt-lc.0
    103   1.3  rillig FILES+=		opt-lc.0.pro
    104   1.3  rillig FILES+=		opt-lc.0.stdout
    105   1.3  rillig FILES+=		opt-ldi.0
    106   1.3  rillig FILES+=		opt-ldi.0.pro
    107   1.3  rillig FILES+=		opt-ldi.0.stdout
    108   1.3  rillig FILES+=		opt-npro.0
    109   1.3  rillig FILES+=		opt-npro.0.pro
    110   1.3  rillig FILES+=		opt-npro.0.stdout
    111   1.3  rillig FILES+=		opt-ta.0
    112   1.3  rillig FILES+=		opt-ta.0.pro
    113   1.3  rillig FILES+=		opt-ta.0.stdout
    114   1.3  rillig FILES+=		opt-ts.0
    115   1.3  rillig FILES+=		opt-ts.0.pro
    116   1.3  rillig FILES+=		opt-ts.0.stdout
    117  1.13  rillig FILES+=		opt.0
    118  1.13  rillig FILES+=		opt.0.pro
    119  1.13  rillig FILES+=		opt.0.stdout
    120  1.16  rillig FILES+=		opt_bacc.c
    121  1.16  rillig FILES+=		opt_bad.c
    122  1.16  rillig FILES+=		opt_badp.c
    123  1.16  rillig FILES+=		opt_bap.c
    124  1.16  rillig FILES+=		opt_bbb.c
    125  1.16  rillig FILES+=		opt_bc.c
    126  1.16  rillig FILES+=		opt_bs.c
    127  1.16  rillig FILES+=		opt_cdb.c
    128  1.16  rillig FILES+=		opt_ce.c
    129  1.16  rillig FILES+=		opt_cs.c
    130  1.16  rillig FILES+=		opt_dj.c
    131  1.16  rillig FILES+=		opt_eei.c
    132  1.16  rillig FILES+=		opt_ei.c
    133  1.16  rillig FILES+=		opt_fbs.c
    134  1.16  rillig FILES+=		opt_fc1.c
    135  1.16  rillig FILES+=		opt_fcb.c
    136  1.16  rillig FILES+=		opt_ip.c
    137  1.16  rillig FILES+=		opt_lp.c
    138  1.16  rillig FILES+=		opt_lpl.c
    139  1.16  rillig FILES+=		opt_pcs.c
    140  1.16  rillig FILES+=		opt_psl.c
    141  1.16  rillig FILES+=		opt_sc.c
    142  1.16  rillig FILES+=		opt_sob.c
    143  1.16  rillig FILES+=		opt_ut.c
    144  1.16  rillig FILES+=		opt_v.c
    145   1.1   kamil FILES+=		parens.0
    146   1.1   kamil FILES+=		parens.0.stdout
    147   1.1   kamil FILES+=		parens.0.pro
    148   1.1   kamil FILES+=		pcs.0
    149   1.1   kamil FILES+=		pcs.0.stdout
    150   1.1   kamil FILES+=		pcs.0.pro
    151  1.12  rillig FILES+=		ps_ind_level.0
    152  1.12  rillig FILES+=		ps_ind_level.0.pro
    153  1.12  rillig FILES+=		ps_ind_level.0.stdout
    154   1.1   kamil FILES+=		cs.0
    155   1.1   kamil FILES+=		cs.0.stdout
    156   1.1   kamil FILES+=		cs.0.pro
    157   1.1   kamil FILES+=		struct.0
    158   1.1   kamil FILES+=		struct.0.stdout
    159   1.1   kamil FILES+=		surplusbad.0
    160   1.1   kamil FILES+=		surplusbad.0.stdout
    161   1.1   kamil FILES+=		surplusbad.0.pro
    162   1.8  rillig FILES+=		token-binary_op.0
    163   1.8  rillig FILES+=		token-binary_op.0.pro
    164   1.8  rillig FILES+=		token-binary_op.0.stdout
    165   1.8  rillig FILES+=		token-case_label.0
    166   1.8  rillig FILES+=		token-case_label.0.pro
    167   1.8  rillig FILES+=		token-case_label.0.stdout
    168   1.8  rillig FILES+=		token-colon.0
    169   1.8  rillig FILES+=		token-colon.0.pro
    170   1.8  rillig FILES+=		token-colon.0.stdout
    171   1.8  rillig FILES+=		token-comma.0
    172   1.8  rillig FILES+=		token-comma.0.pro
    173   1.8  rillig FILES+=		token-comma.0.stdout
    174   1.8  rillig FILES+=		token-comment.0
    175   1.8  rillig FILES+=		token-comment.0.pro
    176   1.8  rillig FILES+=		token-comment.0.stdout
    177   1.8  rillig FILES+=		token-decl.0
    178   1.8  rillig FILES+=		token-decl.0.pro
    179   1.8  rillig FILES+=		token-decl.0.stdout
    180   1.8  rillig FILES+=		token-do_stmt.0
    181   1.8  rillig FILES+=		token-do_stmt.0.pro
    182   1.8  rillig FILES+=		token-do_stmt.0.stdout
    183   1.8  rillig FILES+=		token-end_of_file.0
    184   1.8  rillig FILES+=		token-end_of_file.0.pro
    185   1.8  rillig FILES+=		token-end_of_file.0.stdout
    186   1.8  rillig FILES+=		token-for_exprs.0
    187   1.8  rillig FILES+=		token-for_exprs.0.pro
    188   1.8  rillig FILES+=		token-for_exprs.0.stdout
    189   1.8  rillig FILES+=		token-form_feed.0
    190   1.8  rillig FILES+=		token-form_feed.0.pro
    191   1.8  rillig FILES+=		token-form_feed.0.stdout
    192   1.8  rillig FILES+=		token-funcname.0
    193   1.8  rillig FILES+=		token-funcname.0.pro
    194   1.8  rillig FILES+=		token-funcname.0.stdout
    195   1.8  rillig FILES+=		token-ident.0
    196   1.8  rillig FILES+=		token-ident.0.pro
    197   1.8  rillig FILES+=		token-ident.0.stdout
    198   1.8  rillig FILES+=		token-if_expr.0
    199   1.8  rillig FILES+=		token-if_expr.0.pro
    200   1.8  rillig FILES+=		token-if_expr.0.stdout
    201   1.8  rillig FILES+=		token-if_expr_stmt.0
    202   1.8  rillig FILES+=		token-if_expr_stmt.0.pro
    203   1.8  rillig FILES+=		token-if_expr_stmt.0.stdout
    204   1.8  rillig FILES+=		token-if_expr_stmt_else.0
    205   1.8  rillig FILES+=		token-if_expr_stmt_else.0.pro
    206   1.8  rillig FILES+=		token-if_expr_stmt_else.0.stdout
    207   1.8  rillig FILES+=		token-keyword_do.0
    208   1.8  rillig FILES+=		token-keyword_do.0.pro
    209   1.8  rillig FILES+=		token-keyword_do.0.stdout
    210   1.8  rillig FILES+=		token-keyword_do_else.0
    211   1.8  rillig FILES+=		token-keyword_do_else.0.pro
    212   1.8  rillig FILES+=		token-keyword_do_else.0.stdout
    213   1.8  rillig FILES+=		token-keyword_else.0
    214   1.8  rillig FILES+=		token-keyword_else.0.pro
    215   1.8  rillig FILES+=		token-keyword_else.0.stdout
    216   1.8  rillig FILES+=		token-keyword_for_if_while.0
    217   1.8  rillig FILES+=		token-keyword_for_if_while.0.pro
    218   1.8  rillig FILES+=		token-keyword_for_if_while.0.stdout
    219   1.8  rillig FILES+=		token-keyword_struct_union_enum.0
    220   1.8  rillig FILES+=		token-keyword_struct_union_enum.0.pro
    221   1.8  rillig FILES+=		token-keyword_struct_union_enum.0.stdout
    222   1.8  rillig FILES+=		token-lbrace.0
    223   1.8  rillig FILES+=		token-lbrace.0.pro
    224   1.8  rillig FILES+=		token-lbrace.0.stdout
    225   1.8  rillig FILES+=		token-lparen.0
    226   1.8  rillig FILES+=		token-lparen.0.pro
    227   1.8  rillig FILES+=		token-lparen.0.stdout
    228   1.8  rillig FILES+=		token-newline.0
    229   1.8  rillig FILES+=		token-newline.0.pro
    230   1.8  rillig FILES+=		token-newline.0.stdout
    231   1.8  rillig FILES+=		token-period.0
    232   1.8  rillig FILES+=		token-period.0.pro
    233   1.8  rillig FILES+=		token-period.0.stdout
    234   1.8  rillig FILES+=		token-postfix_op.0
    235   1.8  rillig FILES+=		token-postfix_op.0.pro
    236   1.8  rillig FILES+=		token-postfix_op.0.stdout
    237   1.8  rillig FILES+=		token-preprocessing.0
    238   1.8  rillig FILES+=		token-preprocessing.0.pro
    239   1.8  rillig FILES+=		token-preprocessing.0.stdout
    240   1.8  rillig FILES+=		token-question.0
    241   1.8  rillig FILES+=		token-question.0.pro
    242   1.8  rillig FILES+=		token-question.0.stdout
    243   1.8  rillig FILES+=		token-rbrace.0
    244   1.8  rillig FILES+=		token-rbrace.0.pro
    245   1.8  rillig FILES+=		token-rbrace.0.stdout
    246   1.8  rillig FILES+=		token-rparen.0
    247   1.8  rillig FILES+=		token-rparen.0.pro
    248   1.8  rillig FILES+=		token-rparen.0.stdout
    249   1.8  rillig FILES+=		token-semicolon.0
    250   1.8  rillig FILES+=		token-semicolon.0.pro
    251   1.8  rillig FILES+=		token-semicolon.0.stdout
    252   1.8  rillig FILES+=		token-stmt.0
    253   1.8  rillig FILES+=		token-stmt.0.pro
    254   1.8  rillig FILES+=		token-stmt.0.stdout
    255   1.8  rillig FILES+=		token-stmt_list.0
    256   1.8  rillig FILES+=		token-stmt_list.0.pro
    257   1.8  rillig FILES+=		token-stmt_list.0.stdout
    258   1.8  rillig FILES+=		token-storage_class.0
    259   1.8  rillig FILES+=		token-storage_class.0.pro
    260   1.8  rillig FILES+=		token-storage_class.0.stdout
    261   1.8  rillig FILES+=		token-string_prefix.0
    262   1.8  rillig FILES+=		token-string_prefix.0.pro
    263   1.8  rillig FILES+=		token-string_prefix.0.stdout
    264   1.8  rillig FILES+=		token-switch_expr.0
    265   1.8  rillig FILES+=		token-switch_expr.0.pro
    266   1.8  rillig FILES+=		token-switch_expr.0.stdout
    267   1.8  rillig FILES+=		token-type_def.0
    268   1.8  rillig FILES+=		token-type_def.0.pro
    269   1.8  rillig FILES+=		token-type_def.0.stdout
    270   1.8  rillig FILES+=		token-unary_op.0
    271   1.8  rillig FILES+=		token-unary_op.0.pro
    272   1.8  rillig FILES+=		token-unary_op.0.stdout
    273   1.8  rillig FILES+=		token-while_expr.0
    274   1.8  rillig FILES+=		token-while_expr.0.pro
    275   1.8  rillig FILES+=		token-while_expr.0.stdout
    276   1.1   kamil FILES+=		types_from_file.0
    277   1.1   kamil FILES+=		types_from_file.0.stdout
    278   1.1   kamil FILES+=		types_from_file.0.list
    279   1.1   kamil FILES+=		types_from_file.0.pro
    280   1.1   kamil FILES+=		wchar.0
    281   1.1   kamil FILES+=		wchar.0.stdout
    282   1.1   kamil 
    283   1.7  rillig add-test: .PHONY
    284   1.7  rillig 	@set -eu; \
    285   1.7  rillig 	test=${NAME:Q}; \
    286   1.7  rillig 	[ "$$test" ] || { \
    287   1.7  rillig 		echo "usage: ${MAKE} add-test NAME=<name>"; \
    288   1.7  rillig 		exit; \
    289   1.7  rillig 	}; \
    290   1.7  rillig 	\
    291   1.7  rillig 	if [ -f "$$test" ]; then \
    292   1.7  rillig 		echo "error: test $$test already exists." 1>&2; \
    293   1.7  rillig 		exit 1; \
    294   1.7  rillig 	fi; \
    295   1.7  rillig 	\
    296   1.7  rillig 	echo "=> Adding test $$test"; \
    297   1.7  rillig 	printf '%s\n' \
    298   1.7  rillig 		'/* $$''NetBSD$$ */' \
    299   1.7  rillig 		'/* $$''FreeBSD$$ */' \
    300   1.7  rillig 		'' \
    301   1.7  rillig 		'/*' \
    302   1.7  rillig 		' * TODO: Explain the purpose of the test.' \
    303   1.9  rillig 		' */' \
    304   1.7  rillig 		'' \
    305   1.7  rillig 		'// TODO: Add some code that passes.' \
    306   1.7  rillig 	> "$$test"; \
    307   1.7  rillig 	printf '%s\n' \
    308   1.7  rillig 		'/* $$''NetBSD$$ */' \
    309   1.7  rillig 		'/* $$''FreeBSD$$ */' \
    310   1.7  rillig 		'' \
    311   1.7  rillig 		'/*' \
    312   1.7  rillig 		' * TODO: Explain the command line options of the test.' \
    313   1.7  rillig 		' */' \
    314   1.7  rillig 		'' \
    315   1.7  rillig 		'/* TODO: Add some command line options */' \
    316   1.7  rillig 	> "$$test.pro"; \
    317   1.7  rillig 	cat < "$$test" > "$$test.stdout"; \
    318   1.7  rillig 	cvs add "$$test" "$$test.pro" "$$test.stdout"; \
    319   1.7  rillig 	printf '%s\n' \
    320   1.7  rillig 		'/^FILES+=/i' \
    321   1.7  rillig 		"FILES+=		$$test" \
    322   1.7  rillig 		"FILES+=		$$test.pro" \
    323   1.7  rillig 		"FILES+=		$$test.stdout" \
    324   1.7  rillig 		'.' 'w' 'q' \
    325   1.7  rillig 	| ed Makefile; \
    326   1.7  rillig 	${MAKE} sync-mi
    327   1.7  rillig 
    328   1.7  rillig # Note: only works for adding tests.
    329   1.7  rillig # To remove a test, the $$mi file must be edited manually.
    330   1.7  rillig sync-mi: .PHONY
    331   1.7  rillig 	@set -eu;							\
    332   1.7  rillig 	cd "${MAKEFILE:tA:H}/../../..";					\
    333   1.7  rillig 	mi="distrib/sets/lists/tests/mi";				\
    334   1.7  rillig 	cvs update "$$mi";						\
    335   1.7  rillig 	fmt="./usr/tests/usr.bin/indent/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
    336   1.7  rillig 	cat "$$mi" > "$$mi.tmp";					\
    337   1.7  rillig 	printf "$$fmt" ${FILES:M${NAME}*} >> "$$mi.tmp";		\
    338   1.7  rillig 	distrib/sets/fmt-list "$$mi.tmp";				\
    339   1.7  rillig 	mv "$$mi.tmp" "$$mi";						\
    340   1.7  rillig 	cvs diff "$$mi" || true
    341   1.7  rillig 
    342   1.1   kamil .include <bsd.test.mk>
    343