Home | History | Annotate | Line # | Download | only in lint1
Makefile revision 1.123
      1 # $NetBSD: Makefile,v 1.123 2022/05/12 20:49:21 rillig Exp $
      2 
      3 NOMAN=		# defined
      4 MAX_MESSAGE=	349		# see lint1/err.c
      5 
      6 .include <bsd.own.mk>
      7 
      8 ARCHSUBDIR!=	cd ${NETBSDSRCDIR}/usr.bin/xlint/lint1 && ${MAKE} -v ARCHSUBDIR
      9 
     10 TESTSDIR=	${TESTSBASE}/usr.bin/xlint/lint1
     11 
     12 TESTS_SH=	t_integration
     13 TESTS_SH_SRC_t_integration=	archsubdir.sh t_integration.sh
     14 CLEANFILES+=	archsubdir.sh
     15 
     16 archsubdir.sh:
     17 	@echo archsubdir=${ARCHSUBDIR} >${.TARGET}
     18 
     19 FILESDIR=	${TESTSDIR}
     20 FILES+=		c11_generic_expression.c
     21 FILES+=		c11_generic_expression.exp
     22 FILES+=		c90.c
     23 FILES+=		c90.exp
     24 FILES+=		c99_bool_strict_suppressed.c
     25 FILES+=		c99_init_array.c
     26 FILES+=		c99_init_array.exp
     27 FILES+=		c99_init_designator.c
     28 FILES+=		c99_init_designator.exp
     29 FILES+=		d_alignof.c
     30 FILES+=		d_alignof.exp
     31 FILES+=		d_bltinoffsetof.c
     32 FILES+=		d_c99_anon_struct.c
     33 FILES+=		d_c99_anon_union.c
     34 FILES+=		d_c99_bool.c
     35 FILES+=		d_c99_bool.exp
     36 FILES+=		d_c99_bool_strict.c
     37 FILES+=		d_c99_bool_strict.exp
     38 FILES+=		d_c99_bool_strict_syshdr.c
     39 FILES+=		d_c99_bool_strict_syshdr.exp
     40 FILES+=		d_c99_complex_num.c
     41 FILES+=		d_c99_complex_split.c
     42 FILES+=		d_c99_complex_split.exp
     43 FILES+=		d_c99_compound_literal_comma.c
     44 FILES+=		d_c99_decls_after_stmt.c
     45 FILES+=		d_c99_decls_after_stmt2.c
     46 FILES+=		d_c99_decls_after_stmt3.c
     47 FILES+=		d_c99_flex_array_packed.c
     48 FILES+=		d_c99_for_loops.c
     49 FILES+=		d_c99_func.c
     50 FILES+=		d_c99_init.c
     51 FILES+=		d_c99_init.exp
     52 FILES+=		d_c99_nested_struct.c
     53 FILES+=		d_c99_recursive_init.c
     54 FILES+=		d_c99_struct_init.c
     55 FILES+=		d_c99_union_cast.c
     56 FILES+=		d_c99_union_cast.exp
     57 FILES+=		d_c99_union_init1.c
     58 FILES+=		d_c99_union_init2.c
     59 FILES+=		d_c99_union_init3.c
     60 FILES+=		d_c99_union_init4.c
     61 FILES+=		d_c99_union_init5.c
     62 FILES+=		d_c9x_array_init.c
     63 FILES+=		d_c9x_recursive_init.c
     64 FILES+=		d_cast_fun_array_param.c
     65 FILES+=		d_cast_init.c
     66 FILES+=		d_cast_init2.c
     67 FILES+=		d_cast_lhs.c
     68 FILES+=		d_cast_lhs.exp
     69 FILES+=		d_cast_typeof.c
     70 FILES+=		d_compound_literals1.c
     71 FILES+=		d_compound_literals2.c
     72 FILES+=		d_constant_conv1.c
     73 FILES+=		d_constant_conv1.exp
     74 FILES+=		d_constant_conv2.c
     75 FILES+=		d_constant_conv2.exp
     76 FILES+=		d_cvt_constant.c
     77 FILES+=		d_cvt_constant.exp
     78 FILES+=		d_cvt_in_ternary.c
     79 FILES+=		d_decl_old_style_arguments.c
     80 FILES+=		d_decl_old_style_arguments.exp
     81 FILES+=		d_ellipsis_in_switch.c
     82 FILES+=		d_fold_test.c
     83 FILES+=		d_fold_test.exp
     84 FILES+=		d_gcc_compound_statements1.c
     85 FILES+=		d_gcc_compound_statements1.exp
     86 FILES+=		d_gcc_compound_statements2.c
     87 FILES+=		d_gcc_compound_statements3.c
     88 FILES+=		d_gcc_extension.c
     89 FILES+=		d_gcc_func.c
     90 FILES+=		d_gcc_variable_array_init.c
     91 FILES+=		d_incorrect_array_size.c
     92 FILES+=		d_incorrect_array_size.exp
     93 FILES+=		d_init_array_using_string.c
     94 FILES+=		d_init_array_using_string.exp
     95 FILES+=		d_init_pop_member.c
     96 FILES+=		d_init_pop_member.exp
     97 FILES+=		d_lint_assert.c
     98 FILES+=		d_lint_assert.exp
     99 FILES+=		d_long_double_int.c
    100 FILES+=		d_long_double_int.exp
    101 FILES+=		d_nested_structs.c
    102 FILES+=		d_nolimit_init.c
    103 FILES+=		d_packed_structs.c
    104 FILES+=		d_pr_22119.c
    105 FILES+=		d_pr_22119.exp
    106 FILES+=		d_return_type.c
    107 FILES+=		d_return_type.exp
    108 FILES+=		d_shift_to_narrower_type.c
    109 FILES+=		d_struct_init_nested.c
    110 FILES+=		d_struct_init_nested.exp
    111 FILES+=		d_type_conv1.c
    112 FILES+=		d_type_conv1.exp
    113 FILES+=		d_type_conv2.c
    114 FILES+=		d_type_conv2.exp
    115 FILES+=		d_type_conv3.c
    116 FILES+=		d_type_conv3.exp
    117 FILES+=		d_type_question_colon.c
    118 FILES+=		d_typefun.c
    119 FILES+=		d_typename_as_var.c
    120 FILES+=		d_zero_sized_arrays.c
    121 FILES+=		decl.c
    122 FILES+=		decl.exp
    123 FILES+=		decl_arg.c
    124 FILES+=		decl_arg.exp
    125 FILES+=		decl_direct_abstract.c
    126 FILES+=		decl_direct_abstract.exp
    127 FILES+=		decl_enum.c
    128 FILES+=		decl_enum.exp
    129 FILES+=		decl_enum_c90.c
    130 FILES+=		decl_enum_c90.exp
    131 FILES+=		decl_struct_c90.c
    132 FILES+=		decl_struct_c90.exp
    133 FILES+=		decl_struct_member.c
    134 FILES+=		decl_struct_member.exp
    135 FILES+=		emit.c
    136 FILES+=		emit.exp
    137 FILES+=		emit.exp-ln
    138 FILES+=		emit_lp64.c
    139 FILES+=		emit_lp64.exp-ln
    140 FILES+=		expr_binary.c
    141 FILES+=		expr_binary.exp
    142 FILES+=		expr_binary_trad.c
    143 FILES+=		expr_binary_trad.exp
    144 FILES+=		expr_cast.c
    145 FILES+=		expr_cast.exp
    146 FILES+=		expr_fold.c
    147 FILES+=		expr_fold.exp
    148 FILES+=		expr_fold_strict_bool.c
    149 FILES+=		expr_fold_strict_bool.exp
    150 FILES+=		expr_precedence.c
    151 FILES+=		expr_precedence.exp
    152 FILES+=		expr_promote.c
    153 FILES+=		expr_promote.exp-ln
    154 FILES+=		expr_promote_trad.c
    155 FILES+=		expr_promote_trad.exp-ln
    156 FILES+=		expr_range.c
    157 FILES+=		expr_range.exp
    158 FILES+=		feat_stacktrace.c
    159 FILES+=		feat_stacktrace.exp
    160 FILES+=		gcc_attribute.c
    161 FILES+=		gcc_attribute.exp
    162 FILES+=		gcc_attribute_aligned.c
    163 FILES+=		gcc_attribute_aligned.exp
    164 FILES+=		gcc_attribute_enum.c
    165 FILES+=		gcc_attribute_enum.exp
    166 FILES+=		gcc_attribute_func.c
    167 FILES+=		gcc_attribute_func.exp
    168 FILES+=		gcc_attribute_label.c
    169 FILES+=		gcc_attribute_label.exp
    170 FILES+=		gcc_attribute_stmt.c
    171 FILES+=		gcc_attribute_stmt.exp
    172 FILES+=		gcc_attribute_type.c
    173 FILES+=		gcc_attribute_type.exp
    174 FILES+=		gcc_attribute_var.c
    175 FILES+=		gcc_attribute_var.exp
    176 FILES+=		gcc_bit_field_types.c
    177 FILES+=		gcc_bit_field_types.exp
    178 FILES+=		gcc_builtin_alloca.c
    179 FILES+=		gcc_builtin_alloca.exp
    180 FILES+=		gcc_builtin_overflow.c
    181 FILES+=		gcc_builtin_overflow.exp
    182 FILES+=		gcc_cast_union.c
    183 FILES+=		gcc_cast_union.exp
    184 FILES+=		gcc_init_compound_literal.c
    185 FILES+=		gcc_init_compound_literal.exp
    186 FILES+=		gcc_stmt_asm.c
    187 FILES+=		gcc_stmt_asm.exp
    188 FILES+=		gcc_typeof.c
    189 FILES+=		gcc_typeof.exp
    190 FILES+=		gcc_typeof_after_statement.c
    191 FILES+=		gcc_typeof_after_statement.exp
    192 FILES+=		init.c
    193 FILES+=		init.exp
    194 FILES+=		init_braces.c
    195 FILES+=		init_braces.exp
    196 FILES+=		init_c90.c
    197 FILES+=		init_c90.exp
    198 FILES+=		lex_char.c
    199 FILES+=		lex_char.exp
    200 FILES+=		lex_char_uchar.c
    201 FILES+=		lex_comment.c
    202 FILES+=		lex_comment.exp
    203 FILES+=		lex_floating.c
    204 FILES+=		lex_floating.exp
    205 FILES+=		lex_integer.c
    206 FILES+=		lex_integer.exp
    207 FILES+=		lex_integer_binary.c
    208 FILES+=		lex_integer_binary.exp
    209 FILES+=		lex_integer_ilp32.c
    210 FILES+=		lex_integer_ilp32.exp
    211 FILES+=		lex_string.c
    212 FILES+=		lex_string.exp
    213 FILES+=		lex_whitespace.c
    214 FILES+=		lex_whitespace.exp
    215 FILES+=		lex_wide_char.c
    216 FILES+=		lex_wide_char.exp
    217 FILES+=		lex_wide_string.c
    218 FILES+=		lex_wide_string.exp
    219 FILES+=		${MSG_FILES}
    220 FILES+=		msg_000_c90.c
    221 FILES+=		msg_000_c90.exp
    222 FILES+=		msg_001_c90.c
    223 FILES+=		msg_001_c90.exp
    224 FILES+=		msg_132_ilp32.c
    225 FILES+=		msg_132_ilp32.exp
    226 FILES+=		msg_230_uchar.c
    227 FILES+=		msg_230_uchar.exp
    228 FILES+=		msg_259_c90.c
    229 FILES+=		msg_259_c90.exp
    230 FILES+=		msg_259_ilp32.c
    231 FILES+=		msg_259_ilp32.exp
    232 FILES+=		msg_272_c90.c
    233 FILES+=		msg_272_c90.exp
    234 FILES+=		op_colon.c
    235 FILES+=		op_colon.exp
    236 FILES+=		op_shl_lp64.c
    237 FILES+=		op_shl_lp64.exp
    238 FILES+=		parse_init_declarator.c
    239 FILES+=		parse_init_declarator.exp
    240 FILES+=		parse_stmt_error.c
    241 FILES+=		parse_stmt_error.exp
    242 FILES+=		parse_stmt_iter_error.c
    243 FILES+=		parse_stmt_iter_error.exp
    244 FILES+=		parse_type_name.c
    245 FILES+=		parse_type_name.exp
    246 FILES+=		platform_ilp32.c
    247 FILES+=		platform_ilp32.exp
    248 FILES+=		platform_int.c
    249 FILES+=		platform_int.exp
    250 FILES+=		platform_ldbl128.c
    251 FILES+=		platform_ldbl128.exp
    252 FILES+=		platform_ldbl64.c
    253 FILES+=		platform_ldbl64.exp
    254 FILES+=		platform_ldbl96.c
    255 FILES+=		platform_ldbl96.exp
    256 FILES+=		platform_long.c
    257 FILES+=		platform_long.exp
    258 FILES+=		platform_lp64.c
    259 FILES+=		platform_lp64.exp
    260 FILES+=		platform_schar.c
    261 FILES+=		platform_schar.exp
    262 FILES+=		platform_uchar.c
    263 FILES+=		platform_uchar.exp
    264 FILES+=		stmt_for.c
    265 FILES+=		stmt_for.exp
    266 FILES+=		stmt_goto.c
    267 FILES+=		stmt_goto.exp
    268 FILES+=		stmt_if.c
    269 FILES+=		stmt_if.exp
    270 
    271 MSG_IDS=	${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,}
    272 MSG_FILES=	${MSG_IDS:@id@msg_${id}.c ${MSG_NO_EXP.${id}:D:Umsg_${id}.exp}@}
    273 MSG_NO_EXP.040=	yes
    274 MSG_NO_EXP.070=	yes
    275 MSG_NO_EXP.176=	yes
    276 
    277 # Note: only works for adding tests.
    278 # To remove a test, the $$mi file must be edited manually.
    279 sync-mi: .PHONY
    280 	@set -eu;							\
    281 	cd "${MAKEFILE:tA:H}/../../../..";				\
    282 	mi="distrib/sets/lists/tests/mi";				\
    283 	cvs update "$$mi";						\
    284 	fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
    285 	cat "$$mi" > "$$mi.tmp";					\
    286 	printf "$$fmt" ${FILES} >> "$$mi.tmp";				\
    287 	distrib/sets/fmt-list "$$mi.tmp";				\
    288 	mv "$$mi.tmp" "$$mi";						\
    289 	cvs diff "$$mi" || true
    290 
    291 accept: .PHONY
    292 	@archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh ''
    293 
    294 .include <bsd.test.mk>
    295