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