1 # $NetBSD: Makefile,v 1.110 2021/09/10 19:40:18 rillig Exp $ 2 3 NOMAN= # defined 4 MAX_MESSAGE= 346 # 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 15 archsubdir.sh: 16 @echo archsubdir=${ARCHSUBDIR} >${.TARGET} 17 18 FILESDIR= ${TESTSDIR} 19 FILES+= msg_259_c90.c 20 FILES+= msg_259_c90.exp 21 FILES+= c11_generic_expression.c 22 FILES+= c11_generic_expression.exp 23 FILES+= c90.c 24 FILES+= c90.exp 25 FILES+= c99_bool_strict_suppressed.c 26 FILES+= c99_init_array.c 27 FILES+= c99_init_array.exp 28 FILES+= c99_init_designator.c 29 FILES+= c99_init_designator.exp 30 FILES+= d_alignof.c 31 FILES+= d_bltinoffsetof.c 32 FILES+= d_c99_bool.c 33 FILES+= d_c99_bool.exp 34 FILES+= d_c99_bool_strict.c 35 FILES+= d_c99_bool_strict.exp 36 FILES+= d_c99_bool_strict_syshdr.c 37 FILES+= d_c99_bool_strict_syshdr.exp 38 FILES+= d_c99_anon_struct.c 39 FILES+= d_c99_anon_union.c 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_enum.c 126 FILES+= decl_enum.exp 127 FILES+= decl_enum_c90.c 128 FILES+= decl_enum_c90.exp 129 FILES+= decl_struct_c90.c 130 FILES+= decl_struct_c90.exp 131 FILES+= decl_struct_member.c 132 FILES+= decl_struct_member.exp 133 FILES+= emit.c 134 FILES+= emit.exp 135 FILES+= emit.exp-ln 136 FILES+= emit_lp64.c 137 FILES+= emit_lp64.exp-ln 138 FILES+= expr_binary.c 139 FILES+= expr_binary.exp 140 FILES+= expr_binary_trad.c 141 FILES+= expr_binary_trad.exp 142 FILES+= expr_cast.c 143 FILES+= expr_cast.exp 144 FILES+= expr_fold.c 145 FILES+= expr_fold.exp 146 FILES+= expr_fold_strict_bool.c 147 FILES+= expr_fold_strict_bool.exp 148 FILES+= expr_precedence.c 149 FILES+= expr_precedence.exp 150 FILES+= expr_promote.c 151 FILES+= expr_promote.exp-ln 152 FILES+= expr_promote_trad.c 153 FILES+= expr_promote_trad.exp-ln 154 FILES+= expr_range.c 155 FILES+= expr_range.exp 156 FILES+= feat_stacktrace.c 157 FILES+= feat_stacktrace.exp 158 FILES+= gcc_attribute.c 159 FILES+= gcc_attribute.exp 160 FILES+= gcc_attribute_aligned.c 161 FILES+= gcc_attribute_aligned.exp 162 FILES+= gcc_attribute_enum.c 163 FILES+= gcc_attribute_enum.exp 164 FILES+= gcc_attribute_func.c 165 FILES+= gcc_attribute_func.exp 166 FILES+= gcc_attribute_label.c 167 FILES+= gcc_attribute_stmt.c 168 FILES+= gcc_attribute_stmt.exp 169 FILES+= gcc_attribute_type.c 170 FILES+= gcc_attribute_type.exp 171 FILES+= gcc_attribute_var.c 172 FILES+= gcc_attribute_var.exp 173 FILES+= gcc_bit_field_types.c 174 FILES+= gcc_bit_field_types.exp 175 FILES+= gcc_builtin_overflow.c 176 FILES+= gcc_builtin_overflow.exp 177 FILES+= gcc_cast_union.c 178 FILES+= gcc_cast_union.exp 179 FILES+= gcc_init_compound_literal.c 180 FILES+= gcc_init_compound_literal.exp 181 FILES+= gcc_stmt_asm.c 182 FILES+= gcc_stmt_asm.exp 183 FILES+= gcc_typeof.c 184 FILES+= gcc_typeof.exp 185 FILES+= gcc_typeof_after_statement.c 186 FILES+= gcc_typeof_after_statement.exp 187 FILES+= init.c 188 FILES+= init.exp 189 FILES+= init_c90.c 190 FILES+= init_c90.exp 191 FILES+= lex_char.c 192 FILES+= lex_char.exp 193 FILES+= lex_char_uchar.c 194 FILES+= lex_comment.c 195 FILES+= lex_comment.exp 196 FILES+= lex_floating.c 197 FILES+= lex_floating.exp 198 FILES+= lex_integer.c 199 FILES+= lex_integer.exp 200 FILES+= lex_integer_binary.c 201 FILES+= lex_integer_binary.exp 202 FILES+= lex_integer_ilp32.c 203 FILES+= lex_integer_ilp32.exp 204 FILES+= lex_string.c 205 FILES+= lex_string.exp 206 FILES+= lex_whitespace.c 207 FILES+= lex_whitespace.exp 208 FILES+= lex_wide_char.c 209 FILES+= lex_wide_char.exp 210 FILES+= lex_wide_string.c 211 FILES+= lex_wide_string.exp 212 FILES+= ${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,:@i@msg_${i}.c msg_${i}.exp@:Nmsg_176.exp} 213 FILES+= msg_001_c90.c 214 FILES+= msg_001_c90.exp 215 FILES+= msg_000_c90.c 216 FILES+= msg_000_c90.exp 217 FILES+= msg_132_ilp32.c 218 FILES+= msg_132_ilp32.exp 219 FILES+= msg_230_uchar.c 220 FILES+= msg_230_uchar.exp 221 FILES+= msg_259_ilp32.c 222 FILES+= msg_259_ilp32.exp 223 FILES+= msg_272_c90.c 224 FILES+= msg_272_c90.exp 225 FILES+= op_colon.c 226 FILES+= op_colon.exp 227 FILES+= op_shl_lp64.c 228 FILES+= op_shl_lp64.exp 229 FILES+= parse_init_declarator.c 230 FILES+= parse_init_declarator.exp 231 FILES+= parse_stmt_error.c 232 FILES+= parse_stmt_error.exp 233 FILES+= parse_stmt_iter_error.c 234 FILES+= parse_stmt_iter_error.exp 235 FILES+= parse_type_name.c 236 FILES+= parse_type_name.exp 237 FILES+= stmt_for.c 238 FILES+= stmt_for.exp 239 FILES+= stmt_goto.c 240 FILES+= stmt_goto.exp 241 FILES+= stmt_if.c 242 FILES+= stmt_if.exp 243 244 # Note: only works for adding tests. 245 # To remove a test, the $$mi file must be edited manually. 246 sync-mi: .PHONY 247 @set -eu; \ 248 cd "${MAKEFILE:tA:H}/../../../.."; \ 249 mi="distrib/sets/lists/tests/mi"; \ 250 cvs update "$$mi"; \ 251 fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 252 cat "$$mi" > "$$mi.tmp"; \ 253 printf "$$fmt" ${FILES} >> "$$mi.tmp"; \ 254 distrib/sets/fmt-list "$$mi.tmp"; \ 255 mv "$$mi.tmp" "$$mi"; \ 256 cvs diff "$$mi" || true 257 258 accept: .PHONY 259 @archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh '' 260 261 .include <bsd.test.mk> 262