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