Makefile revision 1.56
1# $NetBSD: Makefile,v 1.56 2021/05/14 21:14:55 rillig Exp $
2
3NOMAN=		# defined
4MAX_MESSAGE=	343		# see lint1/err.c
5
6.include <bsd.own.mk>
7
8TESTSDIR=	${TESTSBASE}/usr.bin/xlint/lint1
9
10TESTS_SH=	t_integration
11
12FILESDIR=	${TESTSDIR}
13FILES+=		d_alignof.c
14FILES+=		d_bltinoffsetof.c
15FILES+=		d_c99_bool.c
16FILES+=		d_c99_bool.exp
17FILES+=		d_c99_bool_strict.c
18FILES+=		d_c99_bool_strict.exp
19FILES+=		d_c99_bool_strict_syshdr.c
20FILES+=		d_c99_bool_strict_syshdr.exp
21FILES+=		d_c99_anon_struct.c
22FILES+=		d_c99_anon_union.c
23FILES+=		d_c99_complex_num.c
24FILES+=		d_c99_complex_split.c
25FILES+=		d_c99_complex_split.exp
26FILES+=		d_c99_compound_literal_comma.c
27FILES+=		d_c99_decls_after_stmt.c
28FILES+=		d_c99_decls_after_stmt2.c
29FILES+=		d_c99_decls_after_stmt3.c
30FILES+=		d_c99_flex_array_packed.c
31FILES+=		d_c99_for_loops.c
32FILES+=		d_c99_func.c
33FILES+=		d_c99_init.c
34FILES+=		d_c99_init.exp
35FILES+=		d_c99_nested_struct.c
36FILES+=		d_c99_recursive_init.c
37FILES+=		d_c99_struct_init.c
38FILES+=		d_c99_union_cast.c
39FILES+=		d_c99_union_cast.exp
40FILES+=		d_c99_union_init1.c
41FILES+=		d_c99_union_init2.c
42FILES+=		d_c99_union_init3.c
43FILES+=		d_c99_union_init4.c
44FILES+=		d_c99_union_init5.c
45FILES+=		d_c9x_array_init.c
46FILES+=		d_c9x_recursive_init.c
47FILES+=		d_cast_fun_array_param.c
48FILES+=		d_cast_init.c
49FILES+=		d_cast_init2.c
50FILES+=		d_cast_lhs.c
51FILES+=		d_cast_typeof.c
52FILES+=		d_compound_literals1.c
53FILES+=		d_compound_literals2.c
54FILES+=		d_constant_conv1.c
55FILES+=		d_constant_conv1.exp
56FILES+=		d_constant_conv2.c
57FILES+=		d_constant_conv2.exp
58FILES+=		d_cvt_constant.c
59FILES+=		d_cvt_constant.exp
60FILES+=		d_cvt_in_ternary.c
61FILES+=		d_decl_old_style_arguments.c
62FILES+=		d_decl_old_style_arguments.exp
63FILES+=		d_ellipsis_in_switch.c
64FILES+=		d_fold_test.c
65FILES+=		d_fold_test.exp
66FILES+=		d_gcc_compound_statements1.c
67FILES+=		d_gcc_compound_statements2.c
68FILES+=		d_gcc_compound_statements3.c
69FILES+=		d_gcc_extension.c
70FILES+=		d_gcc_extension.exp
71FILES+=		d_gcc_func.c
72FILES+=		d_gcc_variable_array_init.c
73FILES+=		d_incorrect_array_size.c
74FILES+=		d_incorrect_array_size.exp
75FILES+=		d_init_array_using_string.c
76FILES+=		d_init_array_using_string.exp
77FILES+=		d_init_pop_member.c
78FILES+=		d_init_pop_member.exp
79FILES+=		d_lint_assert.c
80FILES+=		d_lint_assert.exp
81FILES+=		d_long_double_int.c
82FILES+=		d_long_double_int.exp
83FILES+=		d_nested_structs.c
84FILES+=		d_nolimit_init.c
85FILES+=		d_packed_structs.c
86FILES+=		d_pr_22119.c
87FILES+=		d_pr_22119.exp
88FILES+=		d_return_type.c
89FILES+=		d_return_type.exp
90FILES+=		d_shift_to_narrower_type.c
91FILES+=		d_struct_init_nested.c
92FILES+=		d_struct_init_nested.exp
93FILES+=		d_type_conv1.c
94FILES+=		d_type_conv1.exp
95FILES+=		d_type_conv2.c
96FILES+=		d_type_conv2.exp
97FILES+=		d_type_conv3.c
98FILES+=		d_type_conv3.exp
99FILES+=		d_type_question_colon.c
100FILES+=		d_typefun.c
101FILES+=		d_typename_as_var.c
102FILES+=		d_zero_sized_arrays.c
103FILES+=		emit.c
104FILES+=		emit.exp
105FILES+=		emit.ln
106FILES+=		expr_range.c
107FILES+=		feat_stacktrace.c
108FILES+=		feat_stacktrace.exp
109FILES+=		gcc_attribute.c
110FILES+=		gcc_attribute.exp
111FILES+=		gcc_attribute_aligned.c
112FILES+=		gcc_attribute_aligned.exp
113FILES+=		gcc_bit_field_types.c
114FILES+=		gcc_bit_field_types.exp
115FILES+=		gcc_init_compound_literal.c
116FILES+=		gcc_init_compound_literal.exp
117FILES+=		gcc_typeof_after_statement.c
118FILES+=		gcc_typeof_after_statement.exp
119FILES+=		${:U0 ${:U:${:Urange=${MAX_MESSAGE}}}:C,^.$,0&,:C,^..$,0&,:@i@msg_${i}.c msg_${i}.exp@:Nmsg_176.exp}
120FILES+=		op_colon.c
121FILES+=		op_colon.exp
122
123# ----- begin hack -----
124# Prevent that ${DESTDIR}/emit.ln gets ${DESTDIR}/emit.c as implicit source.
125# The suffix transformation rule '.c.ln' thinks that ${DESTDIR}/emit.ln should
126# depend in ${DESTDIR}/emit.c, but these files are not intended to depend on
127# each other, they have these suffixes just for convenience and convention.
128.if make(install)
129.  if ${MKUPDATE} == "no"	# see bsd.files.mk
130${DESTDIR}${FILESDIR}/emit.ln! .PHONY
131.  else
132${DESTDIR}${FILESDIR}/emit.ln: .PHONY
133.  endif
134.endif
135# ----- end hack -----
136
137# Note: only works for adding tests.
138# To remove a test, the $$mi file must be edited manually.
139sync-mi: .PHONY
140	@set -eu;							\
141	cd "${MAKEFILE:tA:H}/../../../..";				\
142	mi="distrib/sets/lists/tests/mi";				\
143	cvs update "$$mi";						\
144	fmt="./usr/tests/usr.bin/xlint/lint1/%s\ttests-usr.bin-tests\tcompattestfile,atf\n"; \
145	cat "$$mi" > "$$mi.tmp";					\
146	printf "$$fmt" ${FILES} >> "$$mi.tmp";				\
147	distrib/sets/fmt-list "$$mi.tmp";				\
148	mv "$$mi.tmp" "$$mi";						\
149	cvs diff "$$mi" || true
150
151.include <bsd.test.mk>
152