1# $NetBSD: Makefile,v 1.80 2025/10/10 15:53:55 christos Exp $
2
3MKMAN=	no
4
5.include <bsd.own.mk>
6
7.include "../arch/Makefile.exec_prot"
8
9TESTSDIR=		${TESTSBASE}/lib/libc/sys
10
11TESTS_C+=		t_access
12TESTS_C+=		t_aio_cancel
13TESTS_C+=		t_aio_lio
14TESTS_C+=		t_aio_rw
15TESTS_C+=		t_aio_suspend
16TESTS_C+=		t_bind
17TESTS_C+=		t_chroot
18TESTS_C+=		t_clock_gettime
19TESTS_C+=		t_clock_nanosleep
20TESTS_C+=		t_clone
21TESTS_C+=		t_connect
22TESTS_C+=		t_dup
23TESTS_C+=		t_eventfd
24TESTS_C+=		t_fork
25TESTS_C+=		t_fsync
26TESTS_C+=		t_futex_ops
27TESTS_C+=		t_futex_robust
28TESTS_C+=		t_getcontext
29TESTS_C+=		t_getgroups
30TESTS_C+=		t_getitimer
31TESTS_C+=		t_getlogin
32TESTS_C+=		t_getpid
33TESTS_C+=		t_getrandom
34TESTS_C+=		t_getrusage
35TESTS_C+=		t_getsid
36TESTS_C+=		t_getsockname
37TESTS_C+=		t_gettimeofday
38TESTS_C+=		t_issetugid
39TESTS_C+=		t_kevent
40TESTS_C+=		t_kill
41TESTS_C+=		t_link
42TESTS_C+=		t_listen
43TESTS_C+=		t_lwp_create
44TESTS_C+=		t_lwp_ctl
45TESTS_C+=		t_mincore
46TESTS_C+=		t_minherit
47TESTS_C+=		t_mkdir
48TESTS_C+=		t_mkfifo
49TESTS_C+=		t_mknod
50TESTS_C+=		t_mlock
51TESTS_C+=		t_mmap
52TESTS_C+=		t_mprotect
53TESTS_C+=		t_msgctl
54TESTS_C+=		t_msgget
55TESTS_C+=		t_msgrcv
56TESTS_C+=		t_msgsnd
57TESTS_C+=		t_msync
58TESTS_C+=		t_nanosleep
59TESTS_C+=		t_pipe
60TESTS_C+=		t_pipe2
61TESTS_C+=		t_poll
62TESTS_C+=		t_pollts
63TESTS_C+=		t_posix_fallocate
64TESTS_C+=		t_ppoll
65TESTS_C+=		t_ptrace
66TESTS_C+=		t_ptrace_kill
67TESTS_C+=		t_ptrace_sigchld
68TESTS_C+=		t_ptrace_wait
69TESTS_C+=		t_ptrace_wait3
70TESTS_C+=		t_ptrace_wait4
71TESTS_C+=		t_ptrace_wait6
72TESTS_C+=		t_ptrace_waitid
73TESTS_C+=		t_ptrace_waitpid
74TESTS_C+=		t_recvmmsg
75TESTS_C+=		t_revoke
76TESTS_C+=		t_select
77TESTS_C+=		t_sendmmsg
78TESTS_C+=		t_sendrecv
79TESTS_C+=		t_setrlimit
80TESTS_C+=		t_setuid
81TESTS_C+=		t_sigaction
82TESTS_C+=		t_sigaltstack
83TESTS_C+=		t_sigqueue
84TESTS_C+=		t_sigtimedwait
85TESTS_C+=		t_socketpair
86TESTS_C+=		t_stat
87TESTS_C+=		t_swapcontext
88TESTS_C+=		t_syscall
89TESTS_C+=		t_timer_create
90TESTS_C+=		t_timerfd
91TESTS_C+=		t_truncate
92TESTS_C+=		t_ucontext
93TESTS_C+=		t_umask
94TESTS_C+=		t_unlink
95TESTS_C+=		t_vfork
96TESTS_C+=		t_wait
97TESTS_C+=		t_wait_noproc
98TESTS_C+=		t_wait_noproc_wnohang
99TESTS_C+=		t_write
100
101SRCS.t_mprotect=	t_mprotect.c ${SRCS_EXEC_PROT} t_mprotect_helper.c
102
103LDADD.t_aio_cancel+=	-lrt -lpthread
104LDADD.t_aio_suspend+=	-lrt -lpthread
105LDADD.t_aio_rw+=	-lrt -lpthread
106LDADD.t_aio_lio+=	-lrt -lpthread
107
108LDADD.t_eventfd+=	-lpthread
109LDADD.t_getpid+=	-lpthread
110LDADD.t_mmap+=		-lpthread
111LDADD.t_poll+=		-lpthread
112LDADD.t_ptrace_kill+=	-lpthread
113LDADD.t_timerfd+=	-lpthread
114
115LDADD.t_ptrace_sigchld+=	-pthread -lm
116
117LDADD.t_ptrace_wait+=		-pthread -lm -lelf
118LDADD.t_ptrace_wait3+=		-pthread -lm -lelf
119LDADD.t_ptrace_wait4+=		-pthread -lm -lelf
120LDADD.t_ptrace_wait6+=		-pthread -lm -lelf
121LDADD.t_ptrace_waitid+=		-pthread -lm -lelf
122LDADD.t_ptrace_waitpid+=	-pthread -lm -lelf
123
124.if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
125CPPFLAGS.t_posix_fadvise.c += -D_KERNTYPES
126TESTS_C+=		t_posix_fadvise
127LDADD.t_posix_fadvise+= ${LIBRUMPBASE}
128.endif
129
130CPPFLAGS.t_futex_ops.c		+= -I${.CURDIR}/../../../../lib
131CPPFLAGS.t_futex_robust.c	+= -I${.CURDIR}/../../../../lib
132
133CPPFLAGS.t_timerfd.c		+= -I${.CURDIR}/../gen
134
135CPPFLAGE.t_clone.c		+= -D_NETBSD_SOURCE -D_GNU_SOURCE
136CPPFLAGS.t_lwp_create.c		+= -D_KERNTYPES
137CPPFLAGS.t_ptrace_sigchld.c	+= -D__TEST_FENV
138CPPFLAGS.t_ptrace_wait.c	+= -D_KERNTYPES -D__TEST_FENV
139CPPFLAGS.t_ptrace_wait3.c	+= -D_KERNTYPES -D__TEST_FENV
140CPPFLAGS.t_ptrace_wait4.c	+= -D_KERNTYPES -D__TEST_FENV
141CPPFLAGS.t_ptrace_wait6.c	+= -D_KERNTYPES -D__TEST_FENV
142CPPFLAGS.t_ptrace_waitid.c	+= -D_KERNTYPES -D__TEST_FENV
143CPPFLAGS.t_ptrace_waitpid.c	+= -D_KERNTYPES -D__TEST_FENV
144CPPFLAGS.t_ucontext.c		+= -D_KERNTYPES
145
146.if ${MKSANITIZER:Uno} != "yes" && ${MKLIBCSANITIZER:Uno} != "yes"
147CPPFLAGS.t_ptrace_wait.c	+= -DENABLE_TESTS
148CPPFLAGS.t_ptrace_wait3.c	+= -DENABLE_TESTS
149CPPFLAGS.t_ptrace_wait4.c	+= -DENABLE_TESTS
150CPPFLAGS.t_ptrace_wait6.c	+= -DENABLE_TESTS
151CPPFLAGS.t_ptrace_waitid.c	+= -DENABLE_TESTS
152CPPFLAGS.t_ptrace_waitpid.c	+= -DENABLE_TESTS
153.endif
154
155FILES=		truncate_test.root_owned
156FILESBUILD=	yes
157FILESDIR_truncate_test.root_owned=	${TESTSDIR}
158FILESMODE_truncate_test.root_owned=	0600
159FILESOWNER_truncate_test.root_owned=	root
160FILESGRP_truncate_test.root_owned=	wheel
161
162CLEANFILES=   truncate_test.root_owned
163truncate_test.root_owned:
164	@${_MKTARGET_CREATE}
165	touch ${.TARGET}
166
167WARNS=			4
168
169CWARNFLAGS.gcc+=	${CC_WNO_ADDRESS_OF_PACKED_MEMBER} \
170			${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 8:? -Wno-error=deprecated :}
171
172# Explicitly breaks this
173COPTS.t_wait.c+=	${CC_WNO_ARRAY_BOUNDS} ${CC_WNO_STRINGOP_OVERFLOW}
174
175.include <bsd.test.mk>
176