Home | History | Annotate | Line # | Download | only in kernel
Makefile revision 1.90
      1 # $NetBSD: Makefile,v 1.90 2025/04/21 02:33:44 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 CPPFLAGS.t_signal_and_sp.c+=	-I${ARCHDIR} -DHAVE_STACK_POINTER_H
    107 .endif
    108 
    109 SRCS.t_signal_and_sp+=		t_signal_and_sp.c
    110 .if exists(${ARCHDIR}/contextspfunc.S)
    111 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_CONTEXTSPFUNC
    112 SRCS.t_signal_and_sp+=		contextspfunc.S
    113 .endif
    114 .if exists(${ARCHDIR}/signalsphandler.S)
    115 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_SIGNALSPHANDLER
    116 SRCS.t_signal_and_sp+=		signalsphandler.S
    117 .endif
    118 .if exists(${ARCHDIR}/threadspfunc.S)
    119 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_THREADSPFUNC
    120 SRCS.t_signal_and_sp+=		threadspfunc.S
    121 LDADD.t_signal_and_sp+=		-pthread
    122 .endif
    123 
    124 SRCS.h_execsp_dynamic+=		h_execsp.c
    125 SRCS.h_execsp_static+=		h_execsp.c
    126 .if exists(${ARCHDIR}/execsp.S)
    127 CPPFLAGS.t_signal_and_sp.c+=	-DHAVE_EXECSP
    128 SRCS.h_execsp_dynamic+=		execsp.S
    129 SRCS.h_execsp_static+=		execsp.S
    130 LDFLAGS.h_execsp_dynamic+=	-Wl,-e,execsp_start
    131 LDFLAGS.h_execsp_static+=	-Wl,-e,execsp_start
    132 .else
    133 CPPFLAGS.h_execsp.c+=		-Dexecsp_main=main
    134 .endif
    135 LDSTATIC.h_execsp_static=	-static
    136 
    137 .if ${MACHINE_CPU} == "mips"
    138 CPPFLAGS.contextspfunc.S+=	-I${NETBSDSRCDIR}/lib/libc/arch/mips
    139 CPPFLAGS.execsp.S+=		-I${NETBSDSRCDIR}/lib/libc/arch/mips
    140 CPPFLAGS.signalsphandler.S+=	-I${NETBSDSRCDIR}/lib/libc/arch/mips
    141 .endif
    142 
    143 .PATH:			${NETBSDSRCDIR}/sys/kern
    144 TESTS_C+=		t_extent
    145 SRCS.t_extent=		t_extent.c subr_extent.c
    146 CPPFLAGS.t_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
    147 CPPFLAGS.subr_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
    148 
    149 TESTS_C+=		t_time_arith
    150 SRCS.t_time_arith=	t_time_arith.c subr_time_arith.c
    151 CPPFLAGS.t_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
    152 CPPFLAGS.subr_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
    153 LDADD.t_time_arith+=	-lutil
    154 
    155 t_subr_prf.c: gen_t_subr_prf ${NETBSDSRCDIR}/sys/kern/subr_prf.c
    156 	${HOST_SH} ${.ALLSRC} ${.TARGET}
    157 .if ${MKSANITIZER:Uno} == "yes"
    158 	# These symbols will be redefined by MKSANITIZER
    159 	${TOOL_SED} -i '/undef .*printf/d' ${.TARGET}
    160 .endif
    161 
    162 CPPFLAGS.t_subr_prf.c=	-Wno-pointer-sign	# XXX platform vs kernel SHA2
    163 
    164 # Test explicitly tests failure modes.
    165 CPPFLAGS.t_subr_prf.c+=	${CC_WNO_FORMAT_TRUNCATION}
    166 
    167 SANITIZER_RENAME_CLASSES+=		t_subr_prf
    168 SANITIZER_RENAME_FILES.t_subr_prf+=	t_subr_prf.c
    169 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	snprintf
    170 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
    171 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	sprintf
    172 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
    173 SANITIZER_RENAME_SYMBOL.t_subr_prf+=	vasprintf
    174 
    175 CLEANFILES+=	t_subr_prf.c
    176 
    177 LDADD.h_segv+=	-lm
    178 
    179 .if exists(arch/${MACHINE_ARCH}/execregs.h)
    180 CPPFLAGS.t_execregs.c+=	-I${ARCHDIR}
    181 CPPFLAGS.t_execregs.c+=	-I${.CURDIR}/../lib/libc/gen # isqemu.h
    182 CPPFLAGS.t_execregs.c+=	-DHAVE_EXECREGS_TEST
    183 SRCS.t_execregs+=	t_execregs.c
    184 SRCS.t_execregs+=	execregs.c
    185 LDSTATIC.h_execregs=	-static
    186 LDFLAGS.h_execregs+=	-Wl,-e,execregs_start
    187 .else
    188 SRCS.h_execregs=	h_execregs_unimpl.c
    189 .endif
    190 
    191 .include <bsd.test.mk>
    192