Makefile revision 1.89
11.89Sriastrad# $NetBSD: Makefile,v 1.89 2025/04/20 22:32:25 riastradh Exp $
21.1Sjmmv
31.1SjmmvNOMAN=		# defined
41.1Sjmmv
51.1Sjmmv.include <bsd.own.mk>
61.1Sjmmv
71.1SjmmvTESTSDIR=	${TESTSBASE}/kernel
81.1Sjmmv
91.43SkamilTESTS_SUBDIRS+=	kqueue
101.83SriastradTESTS_C+=	t_cloexec
111.83Sriastrad#TESTS_C+=	t_epoll
121.85SriastradTESTS_C+=	t_execregs
131.73SchristosTESTS_C+=	t_fcntl
141.77Srjs.if ${MKRUMP} != "no"
151.76SriastradTESTS_C+=	t_fdrestart
161.77Srjs.endif
171.80SchristosTESTS_C+=	t_kauth_pr_47598
181.80SchristosTESTS_C+=	t_ksem
191.62SchristosTESTS_C+=	t_lock
201.31SpgoyetteTESTS_C+=	t_lockf
211.74SchristosTESTS_C+=	t_memfd_create
221.27SpgoyetteTESTS_C+=	t_mqueue
231.82SkreTESTS_C+=	t_nanosleep
241.80SchristosTESTS_C+=	t_open_pr_57260
251.59SkamilTESTS_C+=	t_proccwd
261.80SchristosTESTS_C+=	t_pty
271.80SchristosTESTS_C+=	t_semtimedop
281.78SphoTESTS_C+=	t_signal_and_sp
291.28SpgoyetteTESTS_C+=	t_sysv
301.22SchristosTESTS_C+=	t_subr_prf
311.35SgsonTESTS_C+=	t_sysctl
321.49SchristosTESTS_C+=	t_timeleft
331.79Sbad.if ${MKRUMP} != "no"
341.79SbadTESTS_C+=	t_unmount
351.79Sbad.endif
361.53SkamilTESTS_C+=	t_zombie
371.1Sjmmv
381.81SmsaitohTESTS_SH=	t_fexecve
391.80SchristosTESTS_SH+=	t_fpufork
401.47SchristosTESTS_SH+=	t_interp
411.68SjruohoTESTS_SH+=	t_magic_symlinks
421.67SjruohoTESTS_SH+=	t_nointerpreter
431.60SchristosTESTS_SH+=	t_origin
441.50SchristosTESTS_SH+=	t_procpath
451.80SchristosTESTS_SH+=	t_ps_strings
461.70Smartin.if ${MKRUMP} != "no"
471.69SyamaguchTESTS_SH+=	t_simplehook
481.70Smartin.endif
491.80SchristosTESTS_SH+=	t_trapsignal
501.80SchristosTESTS_SH+=	t_umountstress
511.81SmsaitohTESTS_SH+=	t_umount
521.10Spgoyette
531.10SpgoyetteBINDIR=		${TESTSDIR}
541.83SriastradPROGS+=		h_cloexec
551.85SriastradPROGS+=		h_execregs
561.88SriastradPROGS+=		h_execsp_dynamic
571.88SriastradPROGS+=		h_execsp_static
581.83SriastradPROGS+=		h_fexecve
591.80SchristosPROGS+=		h_fpufork
601.80SchristosPROGS+=		h_getprocpath
611.63SchristosPROGS+=		h_ps_strings1
621.10SpgoyettePROGS+=		h_ps_strings2
631.48SchristosPROGS+=		h_segv
641.52Snakayama
651.52SnakayamaSCRIPTSDIR=	${TESTSDIR}
661.52SnakayamaSCRIPTS=	h_interpreter.sh
671.1Sjmmv
681.76SriastradLDADD.t_fdrestart+=	-lpthread
691.76SriastradLDADD.t_fdrestart+=	-lrumpnet_local
701.76SriastradLDADD.t_fdrestart+=	-lrumpnet_net
711.76SriastradLDADD.t_fdrestart+=	-lrumpnet_netinet
721.76SriastradLDADD.t_fdrestart+=	-lrumpnet
731.76SriastradLDADD.t_fdrestart+=	${LIBRUMPBASE}
741.76Sriastrad
751.29SnakayamaLDADD.t_mqueue+= -lrt
761.29Snakayama
771.79SbadLDADD.t_unmount+=	-lrumpfs_tmpfs
781.79SbadLDADD.t_unmount+=	${LIBRUMPBASE}
791.79Sbad
801.26Schristos
811.37Smatt.if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
821.26SchristosTESTS_SUBDIRS+=	tty
831.26Schristos
841.26SchristosTESTS_C+=	t_extattrctl
851.26SchristosTESTS_C+=	t_filedesc
861.26SchristosTESTS_C+=	t_rnd
871.66SchristosLDADD.t_extattrctl+= ${LIBRUMPBASE}
881.26SchristosLDADD.t_filedesc+=  ${LDADD.t_rnd}
891.66SchristosLDADD.t_rnd+=  -lrumpdev_rnd -lrumpdev ${LIBRUMPBASE}
901.26Schristos
911.26Schristos.endif
921.26Schristos
931.51SchristosLDADD.t_timeleft+=	-lpthread
941.51Schristos
951.44SkamilCPPFLAGS+=	-D_KERNTYPES
961.79SbadCPPFLAGS.t_unmount.c+=	-D_KMEMUSER -D__EXPOSE_MOUNT
971.2Spooka
981.89Sriastrad.if exists(${.PARSEDIR}/arch/${MACHINE_ARCH})
991.88SriastradARCHDIR:=		${.PARSEDIR}/arch/${MACHINE_ARCH}
1001.89Sriastrad.else
1011.89SriastradARCHDIR:=		${.PARSEDIR}/arch/${MACHINE_CPU}
1021.89Sriastrad.endif
1031.88Sriastrad.PATH:			${ARCHDIR}
1041.88Sriastrad
1051.88Sriastrad.if exists(${ARCHDIR}/stack_pointer.h)
1061.88SriastradCPPFLAGS.t_signal_and_sp.c+=	-I${ARCHDIR} -DHAVE_STACK_POINTER_H
1071.88Sriastrad.endif
1081.88Sriastrad
1091.88SriastradSRCS.t_signal_and_sp+=		t_signal_and_sp.c
1101.88Sriastrad.if exists(${ARCHDIR}/signalsphandler.S)
1111.88SriastradCPPFLAGS.t_signal_and_sp.c+=	-DHAVE_SIGNALSPHANDLER
1121.88SriastradSRCS.t_signal_and_sp+=		signalsphandler.S
1131.88Sriastrad.endif
1141.88Sriastrad
1151.88SriastradSRCS.h_execsp_dynamic+=		h_execsp.c
1161.88SriastradSRCS.h_execsp_static+=		h_execsp.c
1171.88Sriastrad.if exists(${ARCHDIR}/execsp.S)
1181.88SriastradCPPFLAGS.t_signal_and_sp.c+=	-DHAVE_EXECSP
1191.88SriastradSRCS.h_execsp_dynamic+=		execsp.S
1201.88SriastradSRCS.h_execsp_static+=		execsp.S
1211.88SriastradLDFLAGS.h_execsp_dynamic+=	-Wl,-e,execsp_start
1221.88SriastradLDFLAGS.h_execsp_static+=	-Wl,-e,execsp_start
1231.88Sriastrad.else
1241.88SriastradCPPFLAGS.h_execsp.c+=		-Dexecsp_main=main
1251.78Spho.endif
1261.88SriastradLDSTATIC.h_execsp_static=	-static
1271.78Spho
1281.89Sriastrad.if ${MACHINE_CPU} == "mips"
1291.89SriastradCPPFLAGS.execsp.S+=		-I${NETBSDSRCDIR}/lib/libc/arch/mips
1301.89SriastradCPPFLAGS.signalsphandler.S+=	-I${NETBSDSRCDIR}/lib/libc/arch/mips
1311.89Sriastrad.endif
1321.89Sriastrad
1331.1Sjmmv.PATH:			${NETBSDSRCDIR}/sys/kern
1341.1SjmmvTESTS_C+=		t_extent
1351.1SjmmvSRCS.t_extent=		t_extent.c subr_extent.c
1361.39SchristosCPPFLAGS.t_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
1371.39SchristosCPPFLAGS.subr_extent.c=	-D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
1381.1Sjmmv
1391.84SriastradTESTS_C+=		t_time_arith
1401.84SriastradSRCS.t_time_arith=	t_time_arith.c subr_time_arith.c
1411.84SriastradCPPFLAGS.t_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
1421.84SriastradCPPFLAGS.subr_time_arith.c+=	-I${NETBSDSRCDIR}/sys -D_TIME_TESTING
1431.84SriastradLDADD.t_time_arith+=	-lutil
1441.84Sriastrad
1451.22Schristost_subr_prf.c: gen_t_subr_prf ${NETBSDSRCDIR}/sys/kern/subr_prf.c
1461.22Schristos	${HOST_SH} ${.ALLSRC} ${.TARGET}
1471.61Skamil.if ${MKSANITIZER:Uno} == "yes"
1481.61Skamil	# These symbols will be redefined by MKSANITIZER
1491.61Skamil	${TOOL_SED} -i '/undef .*printf/d' ${.TARGET}
1501.61Skamil.endif
1511.61Skamil
1521.36StlsCPPFLAGS.t_subr_prf.c=	-Wno-pointer-sign	# XXX platform vs kernel SHA2
1531.22Schristos
1541.58Smrg# Test explicitly tests failure modes.
1551.72SlukemCPPFLAGS.t_subr_prf.c+=	${CC_WNO_FORMAT_TRUNCATION}
1561.58Smrg
1571.61SkamilSANITIZER_RENAME_CLASSES+=		t_subr_prf
1581.61SkamilSANITIZER_RENAME_FILES.t_subr_prf+=	t_subr_prf.c
1591.61SkamilSANITIZER_RENAME_SYMBOL.t_subr_prf+=	snprintf
1601.61SkamilSANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
1611.61SkamilSANITIZER_RENAME_SYMBOL.t_subr_prf+=	sprintf
1621.61SkamilSANITIZER_RENAME_SYMBOL.t_subr_prf+=	vsnprintf
1631.61SkamilSANITIZER_RENAME_SYMBOL.t_subr_prf+=	vasprintf
1641.61Skamil
1651.22SchristosCLEANFILES+=	t_subr_prf.c
1661.22Schristos
1671.54SriastradLDADD.h_segv+=	-lm
1681.54Sriastrad
1691.85Sriastrad.if exists(arch/${MACHINE_ARCH}/execregs.h)
1701.85SriastradCPPFLAGS.t_execregs.c+=	-I${ARCHDIR}
1711.86SriastradCPPFLAGS.t_execregs.c+=	-I${.CURDIR}/../lib/libc/gen # isqemu.h
1721.85SriastradCPPFLAGS.t_execregs.c+=	-DHAVE_EXECREGS_TEST
1731.85SriastradSRCS.t_execregs+=	t_execregs.c
1741.85SriastradSRCS.t_execregs+=	execregs.c
1751.87SriastradLDSTATIC.h_execregs=	-static
1761.87SriastradLDFLAGS.h_execregs+=	-Wl,-e,execregs_start
1771.85Sriastrad.else
1781.85SriastradSRCS.h_execregs=	h_execregs_unimpl.c
1791.85Sriastrad.endif
1801.85Sriastrad
1811.1Sjmmv.include <bsd.test.mk>
182