11.30Slukem#	$NetBSD: Makefile,v 1.30 2023/06/03 09:09:10 lukem Exp $
21.1Spooka#
31.1Spooka
41.29SniaNOFULLRELRO=	yes
51.29Snia
61.14Spooka.include <bsd.own.mk>
71.14Spooka
81.6SmattWARNS?=		5
91.1Spooka
101.2Spooka# rumpuser.h is in sys/rump for inclusion by kernel components
111.2Spooka.PATH:		${.CURDIR}/../../sys/rump/include/rump
121.2Spooka
131.20SjustinRUMPUSER_THREADS?=pthread
141.20Sjustin
151.2SpookaLIB=		rumpuser
161.20Sjustin
171.20Sjustin.if   ${RUMPUSER_THREADS} == "pthread"
181.4SpookaLIBDPLIBS+=	pthread ${.CURDIR}/../libpthread
191.20Sjustin.endif
201.13Spooka.for lib in ${RUMPUSER_EXTERNAL_DPLIBS}
211.13SpookaLIBDO.${lib}=	_external
221.13SpookaLIBDPLIBS+=	${lib} lib
231.13Spooka.endfor
241.27SsevanCPPFLAGS+=	-DLIBRUMPUSER
251.4Spooka#CPPFLAGS+=	-D_DIAGNOSTIC
261.2Spooka
271.20Sjustin
281.20Sjustin.if   ${RUMPUSER_THREADS} == "pthread"
291.20SjustinSRCS=		rumpuser.c rumpuser_pth.c rumpuser_bio.c
301.20SjustinSRCS+=		rumpuser_sp.c
311.20Sjustin.elif ${RUMPUSER_THREADS} == "none"
321.20SjustinSRCS=		rumpuser.c rumpuser_pth_dummy.c rumpuser_bio.c
331.20SjustinSRCS+=		rumpuser_sp.c
341.20Sjustin.elif ${RUMPUSER_THREADS} == "fiber"
351.20Sjustin.if defined(RUMP_CURLWP)
361.20Sjustin.if ${RUMP_CURLWP} != "hypercall"
371.20Sjustin.error Unsupported curlwp scheme for thread model: ${RUMP_CURLWP}
381.20Sjustin.endif
391.20Sjustin.endif
401.20SjustinSRCS=		rumpfiber.c rumpfiber_bio.c
411.20SjustinSRCS+=		rumpfiber_sp.c
421.20Sjustin.else
431.20Sjustin.error Unsupported rumpuser threading type: ${RUMPUSER_THREADS}
441.20Sjustin.endif
451.20Sjustin
461.21SjustinSRCS+=		rumpuser_component.c rumpuser_random.c
471.19SjustinSRCS+=		rumpuser_file.c rumpuser_mem.c
481.16Spooka
491.16SpookaSRCS+=		rumpuser_errtrans.c rumpuser_sigtrans.c
501.12Spooka
511.12Spooka# optional
521.20SjustinSRCS+=		rumpuser_dl.c rumpuser_daemonize.c
531.2Spooka
541.2SpookaINCSDIR=	/usr/include/rump
551.22SpookaINCS=		rumpuser_component.h rumpuser_port.h
561.2Spooka
571.2SpookaCPPFLAGS+=	-D_REENTRANT
581.2Spooka
591.30SlukemCOPTS.rumpuser_sp.c+=	${CC_WNO_CAST_FUNCTION_TYPE}
601.28Smrg
611.2Spooka.include <bsd.lib.mk>
62