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