Makefile revision 1.124
11.124Srillig# $NetBSD: Makefile,v 1.124 2022/06/10 18:29:01 rillig Exp $
21.1Sjruoho
31.1SjruohoNOMAN=		# defined
41.123SrilligMAX_MESSAGE=	349		# see lint1/err.c
51.1Sjruoho
61.1Sjruoho.include <bsd.own.mk>
71.1Sjruoho
81.87SrilligARCHSUBDIR!=	cd ${NETBSDSRCDIR}/usr.bin/xlint/lint1 && ${MAKE} -v ARCHSUBDIR
91.87Srillig
101.1SjruohoTESTSDIR=	${TESTSBASE}/usr.bin/xlint/lint1
111.1Sjruoho
121.1SjruohoTESTS_SH=	t_integration
131.87SrilligTESTS_SH_SRC_t_integration=	archsubdir.sh t_integration.sh
141.116SrilligCLEANFILES+=	archsubdir.sh
151.87Srillig
161.87Srilligarchsubdir.sh:
171.87Srillig	@echo archsubdir=${ARCHSUBDIR} >${.TARGET}
181.1Sjruoho
191.1SjruohoFILESDIR=	${TESTSDIR}
201.67SrilligFILES+=		c11_generic_expression.c
211.67SrilligFILES+=		c11_generic_expression.exp
221.97SrilligFILES+=		c90.c
231.97SrilligFILES+=		c90.exp
241.77SrilligFILES+=		c99_bool_strict_suppressed.c
251.73SrilligFILES+=		c99_init_array.c
261.73SrilligFILES+=		c99_init_array.exp
271.65SrilligFILES+=		c99_init_designator.c
281.65SrilligFILES+=		c99_init_designator.exp
291.1SjruohoFILES+=		d_alignof.c
301.122SrilligFILES+=		d_alignof.exp
311.15SchristosFILES+=		d_bltinoffsetof.c
321.120SrilligFILES+=		d_c99_anon_struct.c
331.120SrilligFILES+=		d_c99_anon_union.c
341.26SrilligFILES+=		d_c99_bool.c
351.26SrilligFILES+=		d_c99_bool.exp
361.27SrilligFILES+=		d_c99_bool_strict.c
371.27SrilligFILES+=		d_c99_bool_strict.exp
381.30SrilligFILES+=		d_c99_bool_strict_syshdr.c
391.30SrilligFILES+=		d_c99_bool_strict_syshdr.exp
401.1SjruohoFILES+=		d_c99_complex_num.c
411.3SchristosFILES+=		d_c99_complex_split.c
421.41SrilligFILES+=		d_c99_complex_split.exp
431.7SchristosFILES+=		d_c99_compound_literal_comma.c
441.1SjruohoFILES+=		d_c99_decls_after_stmt.c
451.1SjruohoFILES+=		d_c99_decls_after_stmt2.c
461.2SnjolyFILES+=		d_c99_decls_after_stmt3.c
471.17SrilligFILES+=		d_c99_flex_array_packed.c
481.1SjruohoFILES+=		d_c99_for_loops.c
491.1SjruohoFILES+=		d_c99_func.c
501.32SrilligFILES+=		d_c99_init.c
511.32SrilligFILES+=		d_c99_init.exp
521.16SrilligFILES+=		d_c99_nested_struct.c
531.1SjruohoFILES+=		d_c99_recursive_init.c
541.1SjruohoFILES+=		d_c99_struct_init.c
551.13SchristosFILES+=		d_c99_union_cast.c
561.20SrilligFILES+=		d_c99_union_cast.exp
571.1SjruohoFILES+=		d_c99_union_init1.c
581.1SjruohoFILES+=		d_c99_union_init2.c
591.1SjruohoFILES+=		d_c99_union_init3.c
601.9SchristosFILES+=		d_c99_union_init4.c
611.33SrilligFILES+=		d_c99_union_init5.c
621.1SjruohoFILES+=		d_c9x_array_init.c
631.1SjruohoFILES+=		d_c9x_recursive_init.c
641.8SchristosFILES+=		d_cast_fun_array_param.c
651.1SjruohoFILES+=		d_cast_init.c
661.1SjruohoFILES+=		d_cast_init2.c
671.1SjruohoFILES+=		d_cast_lhs.c
681.78SrilligFILES+=		d_cast_lhs.exp
691.14SchristosFILES+=		d_cast_typeof.c
701.1SjruohoFILES+=		d_compound_literals1.c
711.1SjruohoFILES+=		d_compound_literals2.c
721.1SjruohoFILES+=		d_constant_conv1.c
731.17SrilligFILES+=		d_constant_conv1.exp
741.1SjruohoFILES+=		d_constant_conv2.c
751.17SrilligFILES+=		d_constant_conv2.exp
761.16SrilligFILES+=		d_cvt_constant.c
771.19SrilligFILES+=		d_cvt_constant.exp
781.1SjruohoFILES+=		d_cvt_in_ternary.c
791.21SrilligFILES+=		d_decl_old_style_arguments.c
801.21SrilligFILES+=		d_decl_old_style_arguments.exp
811.1SjruohoFILES+=		d_ellipsis_in_switch.c
821.22SrilligFILES+=		d_fold_test.c
831.22SrilligFILES+=		d_fold_test.exp
841.1SjruohoFILES+=		d_gcc_compound_statements1.c
851.61SrilligFILES+=		d_gcc_compound_statements1.exp
861.1SjruohoFILES+=		d_gcc_compound_statements2.c
871.1SjruohoFILES+=		d_gcc_compound_statements3.c
881.3SchristosFILES+=		d_gcc_extension.c
891.1SjruohoFILES+=		d_gcc_func.c
901.1SjruohoFILES+=		d_gcc_variable_array_init.c
911.1SjruohoFILES+=		d_incorrect_array_size.c
921.17SrilligFILES+=		d_incorrect_array_size.exp
931.36SrilligFILES+=		d_init_array_using_string.c
941.36SrilligFILES+=		d_init_array_using_string.exp
951.24SrilligFILES+=		d_init_pop_member.c
961.24SrilligFILES+=		d_init_pop_member.exp
971.28SrilligFILES+=		d_lint_assert.c
981.28SrilligFILES+=		d_lint_assert.exp
991.1SjruohoFILES+=		d_long_double_int.c
1001.17SrilligFILES+=		d_long_double_int.exp
1011.1SjruohoFILES+=		d_nested_structs.c
1021.1SjruohoFILES+=		d_nolimit_init.c
1031.1SjruohoFILES+=		d_packed_structs.c
1041.34SrilligFILES+=		d_pr_22119.c
1051.34SrilligFILES+=		d_pr_22119.exp
1061.23SrilligFILES+=		d_return_type.c
1071.23SrilligFILES+=		d_return_type.exp
1081.1SjruohoFILES+=		d_shift_to_narrower_type.c
1091.18SrilligFILES+=		d_struct_init_nested.c
1101.19SrilligFILES+=		d_struct_init_nested.exp
1111.1SjruohoFILES+=		d_type_conv1.c
1121.17SrilligFILES+=		d_type_conv1.exp
1131.1SjruohoFILES+=		d_type_conv2.c
1141.17SrilligFILES+=		d_type_conv2.exp
1151.1SjruohoFILES+=		d_type_conv3.c
1161.17SrilligFILES+=		d_type_conv3.exp
1171.10SchristosFILES+=		d_type_question_colon.c
1181.16SrilligFILES+=		d_typefun.c
1191.1SjruohoFILES+=		d_typename_as_var.c
1201.1SjruohoFILES+=		d_zero_sized_arrays.c
1211.84SrilligFILES+=		decl.c
1221.84SrilligFILES+=		decl.exp
1231.82SrilligFILES+=		decl_arg.c
1241.82SrilligFILES+=		decl_arg.exp
1251.112SrilligFILES+=		decl_direct_abstract.c
1261.112SrilligFILES+=		decl_direct_abstract.exp
1271.92SrilligFILES+=		decl_enum.c
1281.92SrilligFILES+=		decl_enum.exp
1291.92SrilligFILES+=		decl_enum_c90.c
1301.92SrilligFILES+=		decl_enum_c90.exp
1311.91SrilligFILES+=		decl_struct_c90.c
1321.91SrilligFILES+=		decl_struct_c90.exp
1331.62SrilligFILES+=		decl_struct_member.c
1341.62SrilligFILES+=		decl_struct_member.exp
1351.44SrilligFILES+=		emit.c
1361.44SrilligFILES+=		emit.exp
1371.66SrilligFILES+=		emit.exp-ln
1381.102SrilligFILES+=		emit_lp64.c
1391.102SrilligFILES+=		emit_lp64.exp-ln
1401.98SrilligFILES+=		expr_binary.c
1411.98SrilligFILES+=		expr_binary.exp
1421.99SrilligFILES+=		expr_binary_trad.c
1431.99SrilligFILES+=		expr_binary_trad.exp
1441.100SrilligFILES+=		expr_cast.c
1451.100SrilligFILES+=		expr_cast.exp
1461.105SrilligFILES+=		expr_fold.c
1471.105SrilligFILES+=		expr_fold.exp
1481.106SrilligFILES+=		expr_fold_strict_bool.c
1491.106SrilligFILES+=		expr_fold_strict_bool.exp
1501.90SrilligFILES+=		expr_precedence.c
1511.90SrilligFILES+=		expr_precedence.exp
1521.104SrilligFILES+=		expr_promote.c
1531.104SrilligFILES+=		expr_promote.exp-ln
1541.104SrilligFILES+=		expr_promote_trad.c
1551.104SrilligFILES+=		expr_promote_trad.exp-ln
1561.56SrilligFILES+=		expr_range.c
1571.57SrilligFILES+=		expr_range.exp
1581.40SrilligFILES+=		feat_stacktrace.c
1591.40SrilligFILES+=		feat_stacktrace.exp
1601.53SrilligFILES+=		gcc_attribute.c
1611.53SrilligFILES+=		gcc_attribute.exp
1621.54SrilligFILES+=		gcc_attribute_aligned.c
1631.54SrilligFILES+=		gcc_attribute_aligned.exp
1641.80SrilligFILES+=		gcc_attribute_enum.c
1651.80SrilligFILES+=		gcc_attribute_enum.exp
1661.80SrilligFILES+=		gcc_attribute_func.c
1671.80SrilligFILES+=		gcc_attribute_func.exp
1681.80SrilligFILES+=		gcc_attribute_label.c
1691.121SrilligFILES+=		gcc_attribute_label.exp
1701.80SrilligFILES+=		gcc_attribute_stmt.c
1711.80SrilligFILES+=		gcc_attribute_stmt.exp
1721.80SrilligFILES+=		gcc_attribute_type.c
1731.80SrilligFILES+=		gcc_attribute_type.exp
1741.80SrilligFILES+=		gcc_attribute_var.c
1751.80SrilligFILES+=		gcc_attribute_var.exp
1761.55SrilligFILES+=		gcc_bit_field_types.c
1771.55SrilligFILES+=		gcc_bit_field_types.exp
1781.115SrilligFILES+=		gcc_builtin_alloca.c
1791.115SrilligFILES+=		gcc_builtin_alloca.exp
1801.109SrilligFILES+=		gcc_builtin_overflow.c
1811.109SrilligFILES+=		gcc_builtin_overflow.exp
1821.101SrilligFILES+=		gcc_cast_union.c
1831.101SrilligFILES+=		gcc_cast_union.exp
1841.43SrilligFILES+=		gcc_init_compound_literal.c
1851.43SrilligFILES+=		gcc_init_compound_literal.exp
1861.89SrilligFILES+=		gcc_stmt_asm.c
1871.89SrilligFILES+=		gcc_stmt_asm.exp
1881.95SrilligFILES+=		gcc_typeof.c
1891.95SrilligFILES+=		gcc_typeof.exp
1901.52SrilligFILES+=		gcc_typeof_after_statement.c
1911.52SrilligFILES+=		gcc_typeof_after_statement.exp
1921.83SrilligFILES+=		init.c
1931.83SrilligFILES+=		init.exp
1941.117SrilligFILES+=		init_braces.c
1951.117SrilligFILES+=		init_braces.exp
1961.83SrilligFILES+=		init_c90.c
1971.83SrilligFILES+=		init_c90.exp
1981.60SrilligFILES+=		lex_char.c
1991.60SrilligFILES+=		lex_char.exp
2001.71SrilligFILES+=		lex_char_uchar.c
2011.64SrilligFILES+=		lex_comment.c
2021.64SrilligFILES+=		lex_comment.exp
2031.60SrilligFILES+=		lex_floating.c
2041.60SrilligFILES+=		lex_floating.exp
2051.60SrilligFILES+=		lex_integer.c
2061.60SrilligFILES+=		lex_integer.exp
2071.88SrilligFILES+=		lex_integer_binary.c
2081.88SrilligFILES+=		lex_integer_binary.exp
2091.69SrilligFILES+=		lex_integer_ilp32.c
2101.69SrilligFILES+=		lex_integer_ilp32.exp
2111.60SrilligFILES+=		lex_string.c
2121.60SrilligFILES+=		lex_string.exp
2131.110SrilligFILES+=		lex_whitespace.c
2141.110SrilligFILES+=		lex_whitespace.exp
2151.60SrilligFILES+=		lex_wide_char.c
2161.60SrilligFILES+=		lex_wide_char.exp
2171.60SrilligFILES+=		lex_wide_string.c
2181.60SrilligFILES+=		lex_wide_string.exp
2191.119SrilligFILES+=		${MSG_FILES}
2201.120SrilligFILES+=		msg_000_c90.c
2211.120SrilligFILES+=		msg_000_c90.exp
2221.81SrilligFILES+=		msg_001_c90.c
2231.81SrilligFILES+=		msg_001_c90.exp
2241.107SrilligFILES+=		msg_132_ilp32.c
2251.107SrilligFILES+=		msg_132_ilp32.exp
2261.124SrilligFILES+=		msg_132_lp64.c
2271.124SrilligFILES+=		msg_132_lp64.exp
2281.74SrilligFILES+=		msg_230_uchar.c
2291.74SrilligFILES+=		msg_230_uchar.exp
2301.120SrilligFILES+=		msg_259_c90.c
2311.120SrilligFILES+=		msg_259_c90.exp
2321.69SrilligFILES+=		msg_259_ilp32.c
2331.69SrilligFILES+=		msg_259_ilp32.exp
2341.81SrilligFILES+=		msg_272_c90.c
2351.81SrilligFILES+=		msg_272_c90.exp
2361.38SrilligFILES+=		op_colon.c
2371.38SrilligFILES+=		op_colon.exp
2381.79SrilligFILES+=		op_shl_lp64.c
2391.79SrilligFILES+=		op_shl_lp64.exp
2401.96SrilligFILES+=		parse_init_declarator.c
2411.96SrilligFILES+=		parse_init_declarator.exp
2421.94SrilligFILES+=		parse_stmt_error.c
2431.94SrilligFILES+=		parse_stmt_error.exp
2441.94SrilligFILES+=		parse_stmt_iter_error.c
2451.94SrilligFILES+=		parse_stmt_iter_error.exp
2461.93SrilligFILES+=		parse_type_name.c
2471.93SrilligFILES+=		parse_type_name.exp
2481.113SrilligFILES+=		platform_ilp32.c
2491.113SrilligFILES+=		platform_ilp32.exp
2501.113SrilligFILES+=		platform_int.c
2511.113SrilligFILES+=		platform_int.exp
2521.113SrilligFILES+=		platform_ldbl128.c
2531.113SrilligFILES+=		platform_ldbl128.exp
2541.113SrilligFILES+=		platform_ldbl64.c
2551.113SrilligFILES+=		platform_ldbl64.exp
2561.113SrilligFILES+=		platform_ldbl96.c
2571.113SrilligFILES+=		platform_ldbl96.exp
2581.113SrilligFILES+=		platform_long.c
2591.113SrilligFILES+=		platform_long.exp
2601.113SrilligFILES+=		platform_lp64.c
2611.113SrilligFILES+=		platform_lp64.exp
2621.113SrilligFILES+=		platform_schar.c
2631.113SrilligFILES+=		platform_schar.exp
2641.113SrilligFILES+=		platform_uchar.c
2651.113SrilligFILES+=		platform_uchar.exp
2661.63SrilligFILES+=		stmt_for.c
2671.63SrilligFILES+=		stmt_for.exp
2681.89SrilligFILES+=		stmt_goto.c
2691.89SrilligFILES+=		stmt_goto.exp
2701.85SrilligFILES+=		stmt_if.c
2711.85SrilligFILES+=		stmt_if.exp
2721.1Sjruoho
2731.119SrilligMSG_IDS=	${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,}
2741.119SrilligMSG_FILES=	${MSG_IDS:@id@msg_${id}.c ${MSG_NO_EXP.${id}:D:Umsg_${id}.exp}@}
2751.119SrilligMSG_NO_EXP.040=	yes
2761.119SrilligMSG_NO_EXP.070=	yes
2771.119SrilligMSG_NO_EXP.176=	yes
2781.119Srillig
2791.21Srillig# Note: only works for adding tests.
2801.21Srillig# To remove a test, the $$mi file must be edited manually.
2811.21Srilligsync-mi: .PHONY
2821.21Srillig	@set -eu;							\
2831.21Srillig	cd "${MAKEFILE:tA:H}/../../../..";				\
2841.21Srillig	mi="distrib/sets/lists/tests/mi";				\
2851.21Srillig	cvs update "$$mi";						\
2861.21Srillig	fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
2871.21Srillig	cat "$$mi" > "$$mi.tmp";					\
2881.46Srillig	printf "$$fmt" ${FILES} >> "$$mi.tmp";				\
2891.21Srillig	distrib/sets/fmt-list "$$mi.tmp";				\
2901.21Srillig	mv "$$mi.tmp" "$$mi";						\
2911.21Srillig	cvs diff "$$mi" || true
2921.21Srillig
2931.70Srilligaccept: .PHONY
2941.87Srillig	@archsubdir=${ARCHSUBDIR:Q} sh ./accept.sh ''
2951.70Srillig
2961.1Sjruoho.include <bsd.test.mk>
297