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