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