1 # $NetBSD: Makefile,v 1.98 2021/08/01 13:31:49 rillig Exp $ 2 3 NOMAN= # defined 4 MAX_MESSAGE= 345 # 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+= c11_generic_expression.c 20 FILES+= c11_generic_expression.exp 21 FILES+= c90.c 22 FILES+= c90.exp 23 FILES+= c99_bool_strict_suppressed.c 24 FILES+= c99_init_array.c 25 FILES+= c99_init_array.exp 26 FILES+= c99_init_designator.c 27 FILES+= c99_init_designator.exp 28 FILES+= d_alignof.c 29 FILES+= d_bltinoffsetof.c 30 FILES+= d_c99_bool.c 31 FILES+= d_c99_bool.exp 32 FILES+= d_c99_bool_strict.c 33 FILES+= d_c99_bool_strict.exp 34 FILES+= d_c99_bool_strict_syshdr.c 35 FILES+= d_c99_bool_strict_syshdr.exp 36 FILES+= d_c99_anon_struct.c 37 FILES+= d_c99_anon_union.c 38 FILES+= d_c99_complex_num.c 39 FILES+= d_c99_complex_split.c 40 FILES+= d_c99_complex_split.exp 41 FILES+= d_c99_compound_literal_comma.c 42 FILES+= d_c99_decls_after_stmt.c 43 FILES+= d_c99_decls_after_stmt2.c 44 FILES+= d_c99_decls_after_stmt3.c 45 FILES+= d_c99_flex_array_packed.c 46 FILES+= d_c99_for_loops.c 47 FILES+= d_c99_func.c 48 FILES+= d_c99_init.c 49 FILES+= d_c99_init.exp 50 FILES+= d_c99_nested_struct.c 51 FILES+= d_c99_recursive_init.c 52 FILES+= d_c99_struct_init.c 53 FILES+= d_c99_union_cast.c 54 FILES+= d_c99_union_cast.exp 55 FILES+= d_c99_union_init1.c 56 FILES+= d_c99_union_init2.c 57 FILES+= d_c99_union_init3.c 58 FILES+= d_c99_union_init4.c 59 FILES+= d_c99_union_init5.c 60 FILES+= d_c9x_array_init.c 61 FILES+= d_c9x_recursive_init.c 62 FILES+= d_cast_fun_array_param.c 63 FILES+= d_cast_init.c 64 FILES+= d_cast_init2.c 65 FILES+= d_cast_lhs.c 66 FILES+= d_cast_lhs.exp 67 FILES+= d_cast_typeof.c 68 FILES+= d_compound_literals1.c 69 FILES+= d_compound_literals2.c 70 FILES+= d_constant_conv1.c 71 FILES+= d_constant_conv1.exp 72 FILES+= d_constant_conv2.c 73 FILES+= d_constant_conv2.exp 74 FILES+= d_cvt_constant.c 75 FILES+= d_cvt_constant.exp 76 FILES+= d_cvt_in_ternary.c 77 FILES+= d_decl_old_style_arguments.c 78 FILES+= d_decl_old_style_arguments.exp 79 FILES+= d_ellipsis_in_switch.c 80 FILES+= d_fold_test.c 81 FILES+= d_fold_test.exp 82 FILES+= d_gcc_compound_statements1.c 83 FILES+= d_gcc_compound_statements1.exp 84 FILES+= d_gcc_compound_statements2.c 85 FILES+= d_gcc_compound_statements3.c 86 FILES+= d_gcc_extension.c 87 FILES+= d_gcc_func.c 88 FILES+= d_gcc_variable_array_init.c 89 FILES+= d_incorrect_array_size.c 90 FILES+= d_incorrect_array_size.exp 91 FILES+= d_init_array_using_string.c 92 FILES+= d_init_array_using_string.exp 93 FILES+= d_init_pop_member.c 94 FILES+= d_init_pop_member.exp 95 FILES+= d_lint_assert.c 96 FILES+= d_lint_assert.exp 97 FILES+= d_long_double_int.c 98 FILES+= d_long_double_int.exp 99 FILES+= d_nested_structs.c 100 FILES+= d_nolimit_init.c 101 FILES+= d_packed_structs.c 102 FILES+= d_pr_22119.c 103 FILES+= d_pr_22119.exp 104 FILES+= d_return_type.c 105 FILES+= d_return_type.exp 106 FILES+= d_shift_to_narrower_type.c 107 FILES+= d_struct_init_nested.c 108 FILES+= d_struct_init_nested.exp 109 FILES+= d_type_conv1.c 110 FILES+= d_type_conv1.exp 111 FILES+= d_type_conv2.c 112 FILES+= d_type_conv2.exp 113 FILES+= d_type_conv3.c 114 FILES+= d_type_conv3.exp 115 FILES+= d_type_question_colon.c 116 FILES+= d_typefun.c 117 FILES+= d_typename_as_var.c 118 FILES+= d_zero_sized_arrays.c 119 FILES+= decl.c 120 FILES+= decl.exp 121 FILES+= decl_arg.c 122 FILES+= decl_arg.exp 123 FILES+= decl_enum.c 124 FILES+= decl_enum.exp 125 FILES+= decl_enum_c90.c 126 FILES+= decl_enum_c90.exp 127 FILES+= decl_struct_c90.c 128 FILES+= decl_struct_c90.exp 129 FILES+= decl_struct_member.c 130 FILES+= decl_struct_member.exp 131 FILES+= emit.c 132 FILES+= emit.exp 133 FILES+= emit.exp-ln 134 FILES+= expr_binary.c 135 FILES+= expr_binary.exp 136 FILES+= expr_precedence.c 137 FILES+= expr_precedence.exp 138 FILES+= expr_range.c 139 FILES+= expr_range.exp 140 FILES+= feat_stacktrace.c 141 FILES+= feat_stacktrace.exp 142 FILES+= gcc_attribute.c 143 FILES+= gcc_attribute.exp 144 FILES+= gcc_attribute_aligned.c 145 FILES+= gcc_attribute_aligned.exp 146 FILES+= gcc_attribute_enum.c 147 FILES+= gcc_attribute_enum.exp 148 FILES+= gcc_attribute_func.c 149 FILES+= gcc_attribute_func.exp 150 FILES+= gcc_attribute_label.c 151 FILES+= gcc_attribute_stmt.c 152 FILES+= gcc_attribute_stmt.exp 153 FILES+= gcc_attribute_type.c 154 FILES+= gcc_attribute_type.exp 155 FILES+= gcc_attribute_var.c 156 FILES+= gcc_attribute_var.exp 157 FILES+= gcc_bit_field_types.c 158 FILES+= gcc_bit_field_types.exp 159 FILES+= gcc_init_compound_literal.c 160 FILES+= gcc_init_compound_literal.exp 161 FILES+= gcc_stmt_asm.c 162 FILES+= gcc_stmt_asm.exp 163 FILES+= gcc_typeof.c 164 FILES+= gcc_typeof.exp 165 FILES+= gcc_typeof_after_statement.c 166 FILES+= gcc_typeof_after_statement.exp 167 FILES+= init.c 168 FILES+= init.exp 169 FILES+= init_c90.c 170 FILES+= init_c90.exp 171 FILES+= lex_char.c 172 FILES+= lex_char.exp 173 FILES+= lex_char_uchar.c 174 FILES+= lex_comment.c 175 FILES+= lex_comment.exp 176 FILES+= lex_floating.c 177 FILES+= lex_floating.exp 178 FILES+= lex_integer.c 179 FILES+= lex_integer.exp 180 FILES+= lex_integer_binary.c 181 FILES+= lex_integer_binary.exp 182 FILES+= lex_integer_ilp32.c 183 FILES+= lex_integer_ilp32.exp 184 FILES+= lex_string.c 185 FILES+= lex_string.exp 186 FILES+= lex_wide_char.c 187 FILES+= lex_wide_char.exp 188 FILES+= lex_wide_string.c 189 FILES+= lex_wide_string.exp 190 FILES+= ${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,:@i@msg_${i}.c msg_${i}.exp@:Nmsg_176.exp} 191 FILES+= msg_001_c90.c 192 FILES+= msg_001_c90.exp 193 FILES+= msg_000_c90.c 194 FILES+= msg_000_c90.exp 195 FILES+= msg_230_uchar.c 196 FILES+= msg_230_uchar.exp 197 FILES+= msg_259_ilp32.c 198 FILES+= msg_259_ilp32.exp 199 FILES+= msg_272_c90.c 200 FILES+= msg_272_c90.exp 201 FILES+= op_colon.c 202 FILES+= op_colon.exp 203 FILES+= op_shl_lp64.c 204 FILES+= op_shl_lp64.exp 205 FILES+= parse_init_declarator.c 206 FILES+= parse_init_declarator.exp 207 FILES+= parse_stmt_error.c 208 FILES+= parse_stmt_error.exp 209 FILES+= parse_stmt_iter_error.c 210 FILES+= parse_stmt_iter_error.exp 211 FILES+= parse_type_name.c 212 FILES+= parse_type_name.exp 213 FILES+= stmt_for.c 214 FILES+= stmt_for.exp 215 FILES+= stmt_goto.c 216 FILES+= stmt_goto.exp 217 FILES+= stmt_if.c 218 FILES+= stmt_if.exp 219 220 # Note: only works for adding tests. 221 # To remove a test, the $$mi file must be edited manually. 222 sync-mi: .PHONY 223 @set -eu; \ 224 cd "${MAKEFILE:tA:H}/../../../.."; \ 225 mi="distrib/sets/lists/tests/mi"; \ 226 cvs update "$$mi"; \ 227 fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 228 cat "$$mi" > "$$mi.tmp"; \ 229 printf "$$fmt" ${FILES} >> "$$mi.tmp"; \ 230 distrib/sets/fmt-list "$$mi.tmp"; \ 231 mv "$$mi.tmp" "$$mi"; \ 232 cvs diff "$$mi" || true 233 234 accept: .PHONY 235 @archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh '' 236 237 .include <bsd.test.mk> 238