Home | History | Annotate | Line # | Download | only in kernel
Makefile revision 1.91
      1 # $NetBSD: Makefile,v 1.91 2025/04/26 03:01:13 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 ${MKRUMP} != "no"
     47 TESTS_SH+=	t_simplehook
     48 .endif
     49 TESTS_SH+=	t_trapsignal
     50 TESTS_SH+=	t_umountstress
     51 TESTS_SH+=	t_umount
     52 
     53 BINDIR=		${TESTSDIR}
     54 PROGS+=		h_cloexec
     55 PROGS+=		h_execregs
     56 PROGS+=		h_execsp_dynamic
     57 PROGS+=		h_execsp_static
     58 PROGS+=		h_fexecve
     59 PROGS+=		h_fpufork
     60 PROGS+=		h_getprocpath
     61 PROGS+=		h_ps_strings1
     62 PROGS+=		h_ps_strings2
     63 PROGS+=		h_segv
     64 
     65 SCRIPTSDIR=	${TESTSDIR}
     66 SCRIPTS=	h_interpreter.sh
     67 
     68 LDADD.t_fdrestart+=	-lpthread
     69 LDADD.t_fdrestart+=	-lrumpnet_local
     70 LDADD.t_fdrestart+=	-lrumpnet_net
     71 LDADD.t_fdrestart+=	-lrumpnet_netinet
     72 LDADD.t_fdrestart+=	-lrumpnet
     73 LDADD.t_fdrestart+=	${LIBRUMPBASE}
     74 
     75 LDADD.t_mqueue+= -lrt
     76 
     77 LDADD.t_unmount+=	-lrumpfs_tmpfs
     78 LDADD.t_unmount+=	${LIBRUMPBASE}
     79 
     80 
     81 .if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
     82 TESTS_SUBDIRS+=	tty
     83 
     84 TESTS_C+=	t_extattrctl
     85 TESTS_C+=	t_filedesc
     86 TESTS_C+=	t_rnd
     87 LDADD.t_extattrctl+= ${LIBRUMPBASE}
     88 LDADD.t_filedesc+=  ${LDADD.t_rnd}
     89 LDADD.t_rnd+=  -lrumpdev_rnd -lrumpdev ${LIBRUMPBASE}
     90 
     91 .endif
     92 
     93 LDADD.t_timeleft+=	-lpthread
     94 
     95 CPPFLAGS+=	-D_KERNTYPES
     96 CPPFLAGS.t_unmount.c+=	-D_KMEMUSER -D__EXPOSE_MOUNT
     97 
     98 .if exists(${.PARSEDIR}/arch/${MACHINE_ARCH})
     99 ARCHDIR:=		${.PARSEDIR}/arch/${MACHINE_ARCH}
    100 .else
    101 ARCHDIR:=		${.PARSEDIR}/arch/${MACHINE_CPU}
    102 .endif
    103 .PATH:			${ARCHDIR}
    104 
    105 .if exists(${ARCHDIR}/stack_pointer.h)
    106 DPSRCS+=			${ARCHDIR}/stack_pointer.h
    107 CPPFLAGS.t_signal_and_sp.c+=	-I${ARCHDIR} -DHAVE_STACK_POINTER_H
    108 .endif
    109 
    110 SRCS.t_signal_and_sp+=		t_signal_and_sp.c
    111 .if exists(${ARCHDIR}/contextspfunc.S)
    112 DPSRCS+=			${ARCHDIR}/contextspfunc.S
    113 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_CONTEXTSPFUNC
    114 SRCS.t_signal_and_sp+=		contextspfunc.S
    115 .endif
    116 .if exists(${ARCHDIR}/signalsphandler.S)
    117 DPSRCS+=			${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 DPSRCS+=			${ARCHDIR}/threadspfunc.S
    123 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_THREADSPFUNC
    124 SRCS.t_signal_and_sp+=		threadspfunc.S
    125 LDADD.t_signal_and_sp+=		-pthread
    126 .endif
    127 
    128 SRCS.h_execsp_dynamic+=		h_execsp.c
    129 SRCS.h_execsp_static+=		h_execsp.c
    130 .if exists(${ARCHDIR}/execsp.S)
    131 DPSRCS+=			${ARCHDIR}/execsp.S
    132 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_EXECSP
    133 SRCS.h_execsp_dynamic+=		execsp.S
    134 SRCS.h_execsp_static+=		execsp.S
    135 LDFLAGS.h_execsp_dynamic+=	-Wl,-e,execsp_start
    136 LDFLAGS.h_execsp_static+=	-Wl,-e,execsp_start
    137 .else
    138 CPPFLAGS.h_execsp.c+=		-Dexecsp_main=main
    139 .endif
    140 LDSTATIC.h_execsp_static=	-static
    141 
    142 .if ${MACHINE_CPU} == "mips"
    143 CPPFLAGS.contextspfunc.S+=	-I${NETBSDSRCDIR}/lib/libc/arch/mips
    144 CPPFLAGS.execsp.S+=		-I${NETBSDSRCDIR}/lib/libc/arch/mips
    145 CPPFLAGS.signalsphandler.S+=	-I${NETBSDSRCDIR}/lib/libc/arch/mips
    146 .endif
    147 
    148 .PATH:			${NETBSDSRCDIR}/sys/kern
    149 TESTS_C+=		t_extent
    150 SRCS.t_extent=		t_extent.c subr_extent.c
    151 CPPFLAGS.t_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
    152 CPPFLAGS.subr_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
    153 
    154 TESTS_C+=		t_time_arith
    155 SRCS.t_time_arith=	t_time_arith.c subr_time_arith.c
    156 CPPFLAGS.t_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
    157 CPPFLAGS.subr_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
    158 LDADD.t_time_arith+=	-lutil
    159 
    160 t_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 
    167 CPPFLAGS.t_subr_prf.c=	-Wno-pointer-sign	# XXX platform vs kernel SHA2
    168 
    169 # Test explicitly tests failure modes.
    170 CPPFLAGS.t_subr_prf.c+=	${CC_WNO_FORMAT_TRUNCATION}
    171 
    172 SANITIZER_RENAME_CLASSES+=		t_subr_prf
    173 SANITIZER_RENAME_FILES.t_subr_prf+=	t_subr_prf.c
    174 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	snprintf
    175 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
    176 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	sprintf
    177 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
    178 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vasprintf
    179 
    180 CLEANFILES+=	t_subr_prf.c
    181 
    182 LDADD.h_segv+=	-lm
    183 
    184 .if exists(arch/${MACHINE_ARCH}/execregs.h)
    185 CPPFLAGS.t_execregs.c+=	-I${ARCHDIR}
    186 CPPFLAGS.t_execregs.c+=	-I${.CURDIR}/../lib/libc/gen # isqemu.h
    187 CPPFLAGS.t_execregs.c+=	-DHAVE_EXECREGS_TEST
    188 SRCS.t_execregs+=	t_execregs.c
    189 SRCS.t_execregs+=	execregs.c
    190 LDSTATIC.h_execregs=	-static
    191 LDFLAGS.h_execregs+=	-Wl,-e,execregs_start
    192 .else
    193 SRCS.h_execregs=	h_execregs_unimpl.c
    194 .endif
    195 
    196 .include <bsd.test.mk>
    197