Makefile revision 1.92
1# $NetBSD: Makefile,v 1.92 2025/04/26 03:03:35 riastradh Exp $ 2 3NOMAN= # defined 4 5.include <bsd.own.mk> 6 7TESTSDIR= ${TESTSBASE}/kernel 8 9TESTS_SUBDIRS+= kqueue 10TESTS_C+= t_cloexec 11#TESTS_C+= t_epoll 12TESTS_C+= t_execregs 13TESTS_C+= t_fcntl 14.if ${MKRUMP} != "no" 15TESTS_C+= t_fdrestart 16.endif 17TESTS_C+= t_kauth_pr_47598 18TESTS_C+= t_ksem 19TESTS_C+= t_lock 20TESTS_C+= t_lockf 21TESTS_C+= t_memfd_create 22TESTS_C+= t_mqueue 23TESTS_C+= t_nanosleep 24TESTS_C+= t_open_pr_57260 25TESTS_C+= t_proccwd 26TESTS_C+= t_pty 27TESTS_C+= t_semtimedop 28TESTS_C+= t_signal_and_sp 29TESTS_C+= t_sysv 30TESTS_C+= t_subr_prf 31TESTS_C+= t_sysctl 32TESTS_C+= t_timeleft 33.if ${MKRUMP} != "no" 34TESTS_C+= t_unmount 35.endif 36TESTS_C+= t_zombie 37 38TESTS_SH= t_fexecve 39TESTS_SH+= t_fpufork 40TESTS_SH+= t_interp 41TESTS_SH+= t_magic_symlinks 42TESTS_SH+= t_nointerpreter 43TESTS_SH+= t_origin 44TESTS_SH+= t_procpath 45TESTS_SH+= t_ps_strings 46.if ${MKRUMP} != "no" 47TESTS_SH+= t_simplehook 48.endif 49TESTS_SH+= t_trapsignal 50TESTS_SH+= t_umountstress 51TESTS_SH+= t_umount 52 53BINDIR= ${TESTSDIR} 54PROGS+= h_cloexec 55PROGS+= h_execregs 56PROGS+= h_execsp_dynamic 57PROGS+= h_execsp_static 58PROGS+= h_fexecve 59PROGS+= h_fpufork 60PROGS+= h_getprocpath 61PROGS+= h_ps_strings1 62PROGS+= h_ps_strings2 63PROGS+= h_segv 64 65SCRIPTSDIR= ${TESTSDIR} 66SCRIPTS= h_interpreter.sh 67 68LDADD.t_fdrestart+= -lpthread 69LDADD.t_fdrestart+= -lrumpnet_local 70LDADD.t_fdrestart+= -lrumpnet_net 71LDADD.t_fdrestart+= -lrumpnet_netinet 72LDADD.t_fdrestart+= -lrumpnet 73LDADD.t_fdrestart+= ${LIBRUMPBASE} 74 75LDADD.t_mqueue+= -lrt 76 77LDADD.t_unmount+= -lrumpfs_tmpfs 78LDADD.t_unmount+= ${LIBRUMPBASE} 79 80 81.if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE) 82TESTS_SUBDIRS+= tty 83 84TESTS_C+= t_extattrctl 85TESTS_C+= t_filedesc 86TESTS_C+= t_rnd 87LDADD.t_extattrctl+= ${LIBRUMPBASE} 88LDADD.t_filedesc+= ${LDADD.t_rnd} 89LDADD.t_rnd+= -lrumpdev_rnd -lrumpdev ${LIBRUMPBASE} 90 91.endif 92 93LDADD.t_timeleft+= -lpthread 94 95CPPFLAGS+= -D_KERNTYPES 96CPPFLAGS.t_unmount.c+= -D_KMEMUSER -D__EXPOSE_MOUNT 97 98.if exists(${.PARSEDIR}/arch/${MACHINE_ARCH}) 99ARCHDIR:= ${.PARSEDIR}/arch/${MACHINE_ARCH} 100.else 101ARCHDIR:= ${.PARSEDIR}/arch/${MACHINE_CPU} 102.endif 103.PATH: ${ARCHDIR} 104 105.if exists(${ARCHDIR}/stack_pointer.h) 106DPSRCS+= ${ARCHDIR}/stack_pointer.h 107CPPFLAGS.t_signal_and_sp.c+= -I${ARCHDIR} -DHAVE_STACK_POINTER_H 108.endif 109 110SRCS.t_signal_and_sp+= t_signal_and_sp.c 111.if exists(${ARCHDIR}/contextspfunc.S) 112DPSRCS+= ${ARCHDIR}/contextspfunc.S 113CPPFLAGS.t_signal_and_sp.c+= -DHAVE_CONTEXTSPFUNC 114SRCS.t_signal_and_sp+= contextspfunc.S 115.endif 116.if exists(${ARCHDIR}/signalsphandler.S) 117DPSRCS+= ${ARCHDIR}/signalsphandler.S 118CPPFLAGS.t_signal_and_sp.c+= -DHAVE_SIGNALSPHANDLER 119SRCS.t_signal_and_sp+= signalsphandler.S 120.endif 121.if exists(${ARCHDIR}/threadspfunc.S) 122DPSRCS+= ${ARCHDIR}/threadspfunc.S 123CPPFLAGS.t_signal_and_sp.c+= -DHAVE_THREADSPFUNC 124SRCS.t_signal_and_sp+= threadspfunc.S 125LDADD.t_signal_and_sp+= -pthread 126.endif 127 128SRCS.h_execsp_dynamic+= h_execsp.c 129SRCS.h_execsp_static+= h_execsp.c 130.if exists(${ARCHDIR}/execsp.S) 131DPSRCS+= ${ARCHDIR}/execsp.S 132CPPFLAGS.t_signal_and_sp.c+= -DHAVE_EXECSP 133SRCS.h_execsp_dynamic+= execsp.S 134SRCS.h_execsp_static+= execsp.S 135LDFLAGS.h_execsp_dynamic+= -Wl,-e,execsp_start 136LDFLAGS.h_execsp_static+= -Wl,-e,execsp_start 137.else 138CPPFLAGS.h_execsp.c+= -Dexecsp_main=main 139.endif 140LDSTATIC.h_execsp_static= -static 141 142.if ${MACHINE_CPU} == "mips" 143CPPFLAGS.contextspfunc.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips 144CPPFLAGS.execsp.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips 145CPPFLAGS.signalsphandler.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips 146.endif 147 148.PATH: ${NETBSDSRCDIR}/sys/kern 149TESTS_C+= t_extent 150SRCS.t_extent= t_extent.c subr_extent.c 151CPPFLAGS.t_extent.c= -D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES 152CPPFLAGS.subr_extent.c= -D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES 153 154TESTS_C+= t_time_arith 155SRCS.t_time_arith= t_time_arith.c subr_time_arith.c 156CPPFLAGS.t_time_arith.c+= -I${NETBSDSRCDIR}/sys -D_TIME_TESTING 157CPPFLAGS.subr_time_arith.c+= -I${NETBSDSRCDIR}/sys -D_TIME_TESTING 158LDADD.t_time_arith+= -lutil 159 160t_subr_prf.c: gen_t_subr_prf ${NETBSDSRCDIR}/sys/kern/subr_prf.c 161 ${HOST_SH} ${.ALLSRC} ${.TARGET} 162.if ${MKSANITIZER:Uno} == "yes" 163 # These symbols will be redefined by MKSANITIZER 164 ${TOOL_SED} -i '/undef .*printf/d' ${.TARGET} 165.endif 166 167CPPFLAGS.t_subr_prf.c= -Wno-pointer-sign # XXX platform vs kernel SHA2 168 169# Test explicitly tests failure modes. 170CPPFLAGS.t_subr_prf.c+= ${CC_WNO_FORMAT_TRUNCATION} 171 172SANITIZER_RENAME_CLASSES+= t_subr_prf 173SANITIZER_RENAME_FILES.t_subr_prf+= t_subr_prf.c 174SANITIZER_RENAME_SYMBOL.t_subr_prf+= snprintf 175SANITIZER_RENAME_SYMBOL.t_subr_prf+= vsnprintf 176SANITIZER_RENAME_SYMBOL.t_subr_prf+= sprintf 177SANITIZER_RENAME_SYMBOL.t_subr_prf+= vsnprintf 178SANITIZER_RENAME_SYMBOL.t_subr_prf+= vasprintf 179 180CLEANFILES+= t_subr_prf.c 181 182LDADD.h_segv+= -lm 183 184.if exists(arch/${MACHINE_ARCH}/execregs.h) 185DPSRCS+= arch/${MACHINE_ARCH}/execregs.h 186CPPFLAGS.t_execregs.c+= -I${ARCHDIR} 187CPPFLAGS.t_execregs.c+= -I${.CURDIR}/../lib/libc/gen # isqemu.h 188CPPFLAGS.t_execregs.c+= -DHAVE_EXECREGS_TEST 189SRCS.t_execregs+= t_execregs.c 190SRCS.t_execregs+= execregs.c 191LDSTATIC.h_execregs= -static 192LDFLAGS.h_execregs+= -Wl,-e,execregs_start 193.else 194SRCS.h_execregs= h_execregs_unimpl.c 195.endif 196 197.include <bsd.test.mk> 198