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