1 # $NetBSD: Makefile,v 1.129 2022/07/05 22:50:41 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 CLEANFILES+= *.exp 16 17 archsubdir.sh: 18 @echo archsubdir=${ARCHSUBDIR} >${.TARGET} 19 20 FILESDIR= ${TESTSDIR} 21 FILES+= c11_generic_expression.c 22 FILES+= c90.c 23 FILES+= c99_bool_strict_suppressed.c 24 FILES+= c99_init_array.c 25 FILES+= c99_init_designator.c 26 FILES+= d_alignof.c 27 FILES+= d_bltinoffsetof.c 28 FILES+= d_c99_anon_struct.c 29 FILES+= d_c99_anon_union.c 30 FILES+= d_c99_bool.c 31 FILES+= d_c99_bool_strict.c 32 FILES+= d_c99_bool_strict_syshdr.c 33 FILES+= d_c99_complex_num.c 34 FILES+= d_c99_complex_split.c 35 FILES+= d_c99_compound_literal_comma.c 36 FILES+= d_c99_decls_after_stmt.c 37 FILES+= d_c99_decls_after_stmt2.c 38 FILES+= d_c99_decls_after_stmt3.c 39 FILES+= d_c99_flex_array_packed.c 40 FILES+= d_c99_for_loops.c 41 FILES+= d_c99_func.c 42 FILES+= d_c99_init.c 43 FILES+= d_c99_nested_struct.c 44 FILES+= d_c99_recursive_init.c 45 FILES+= d_c99_struct_init.c 46 FILES+= d_c99_union_cast.c 47 FILES+= d_c99_union_init1.c 48 FILES+= d_c99_union_init2.c 49 FILES+= d_c99_union_init3.c 50 FILES+= d_c99_union_init4.c 51 FILES+= d_c99_union_init5.c 52 FILES+= d_c9x_array_init.c 53 FILES+= d_c9x_recursive_init.c 54 FILES+= d_cast_fun_array_param.c 55 FILES+= d_cast_init.c 56 FILES+= d_cast_init2.c 57 FILES+= d_cast_lhs.c 58 FILES+= d_cast_typeof.c 59 FILES+= d_compound_literals1.c 60 FILES+= d_compound_literals2.c 61 FILES+= d_constant_conv1.c 62 FILES+= d_constant_conv2.c 63 FILES+= d_cvt_constant.c 64 FILES+= d_cvt_in_ternary.c 65 FILES+= d_decl_old_style_arguments.c 66 FILES+= d_ellipsis_in_switch.c 67 FILES+= d_fold_test.c 68 FILES+= d_gcc_compound_statements1.c 69 FILES+= d_gcc_compound_statements2.c 70 FILES+= d_gcc_compound_statements3.c 71 FILES+= d_gcc_extension.c 72 FILES+= d_gcc_func.c 73 FILES+= d_gcc_variable_array_init.c 74 FILES+= d_incorrect_array_size.c 75 FILES+= d_init_array_using_string.c 76 FILES+= d_init_pop_member.c 77 FILES+= d_lint_assert.c 78 FILES+= d_long_double_int.c 79 FILES+= d_nested_structs.c 80 FILES+= d_nolimit_init.c 81 FILES+= d_packed_structs.c 82 FILES+= d_pr_22119.c 83 FILES+= d_return_type.c 84 FILES+= d_shift_to_narrower_type.c 85 FILES+= d_struct_init_nested.c 86 FILES+= d_type_conv1.c 87 FILES+= d_type_conv2.c 88 FILES+= d_type_conv3.c 89 FILES+= d_type_question_colon.c 90 FILES+= d_typefun.c 91 FILES+= d_typename_as_var.c 92 FILES+= d_zero_sized_arrays.c 93 FILES+= decl.c 94 FILES+= decl_arg.c 95 FILES+= decl_direct_abstract.c 96 FILES+= decl_enum.c 97 FILES+= decl_enum_c90.c 98 FILES+= decl_struct_c90.c 99 FILES+= decl_struct_member.c 100 FILES+= emit.c 101 FILES+= emit.exp-ln 102 FILES+= emit_lp64.c 103 FILES+= emit_lp64.exp-ln 104 FILES+= expr_binary.c 105 FILES+= expr_binary_trad.c 106 FILES+= expr_cast.c 107 FILES+= expr_fold.c 108 FILES+= expr_fold_strict_bool.c 109 FILES+= expr_precedence.c 110 FILES+= expr_promote.c 111 FILES+= expr_promote.exp-ln 112 FILES+= expr_promote_trad.c 113 FILES+= expr_promote_trad.exp-ln 114 FILES+= expr_range.c 115 FILES+= feat_stacktrace.c 116 FILES+= gcc_attribute.c 117 FILES+= gcc_attribute_aligned.c 118 FILES+= gcc_attribute_enum.c 119 FILES+= gcc_attribute_func.c 120 FILES+= gcc_attribute_label.c 121 FILES+= gcc_attribute_stmt.c 122 FILES+= gcc_attribute_type.c 123 FILES+= gcc_attribute_var.c 124 FILES+= gcc_bit_field_types.c 125 FILES+= gcc_builtin_alloca.c 126 FILES+= gcc_builtin_overflow.c 127 FILES+= gcc_cast_union.c 128 FILES+= gcc_init_compound_literal.c 129 FILES+= gcc_stmt_asm.c 130 FILES+= gcc_typeof.c 131 FILES+= gcc_typeof_after_statement.c 132 FILES+= init.c 133 FILES+= init_braces.c 134 FILES+= init_c90.c 135 FILES+= lex_char.c 136 FILES+= lex_char_uchar.c 137 FILES+= lex_comment.c 138 FILES+= lex_floating.c 139 FILES+= lex_integer.c 140 FILES+= lex_integer_binary.c 141 FILES+= lex_integer_ilp32.c 142 FILES+= lex_string.c 143 FILES+= lex_whitespace.c 144 FILES+= lex_wide_char.c 145 FILES+= lex_wide_string.c 146 FILES+= ${MSG_FILES} 147 FILES+= msg_000_c90.c 148 FILES+= msg_001_c90.c 149 FILES+= msg_132_ilp32.c 150 FILES+= msg_132_lp64.c 151 FILES+= msg_230_uchar.c 152 FILES+= msg_259_c90.c 153 FILES+= msg_259_ilp32.c 154 FILES+= msg_272_c90.c 155 FILES+= op_colon.c 156 FILES+= op_shl_lp64.c 157 FILES+= parse_init_declarator.c 158 FILES+= parse_stmt_error.c 159 FILES+= parse_stmt_iter_error.c 160 FILES+= parse_type_name.c 161 FILES+= platform_ilp32.c 162 FILES+= platform_int.c 163 FILES+= platform_ldbl128.c 164 FILES+= platform_ldbl64.c 165 FILES+= platform_ldbl96.c 166 FILES+= platform_long.c 167 FILES+= platform_lp64.c 168 FILES+= platform_schar.c 169 FILES+= platform_uchar.c 170 FILES+= queries.c 171 FILES+= stmt_for.c 172 FILES+= stmt_goto.c 173 FILES+= stmt_if.c 174 175 FILES+= check-expect.lua 176 177 MSG_IDS= ${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,} 178 MSG_FILES= ${MSG_IDS:%=msg_%.c} 179 180 # Note: only works for adding tests. 181 # To remove a test, the $$mi file must be edited manually. 182 sync-mi: .PHONY 183 @set -eu; \ 184 cd "${MAKEFILE:tA:H}/../../../.."; \ 185 mi="distrib/sets/lists/tests/mi"; \ 186 cvs update "$$mi"; \ 187 fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \ 188 cat "$$mi" > "$$mi.tmp"; \ 189 printf "$$fmt" ${FILES} >> "$$mi.tmp"; \ 190 distrib/sets/fmt-list "$$mi.tmp"; \ 191 mv "$$mi.tmp" "$$mi"; \ 192 cvs diff "$$mi" || true 193 194 accept: .PHONY 195 @archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh '' 196 197 .include <bsd.test.mk> 198