Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#	$NetBSD: Makefile,v 1.6 2019/01/21 00:30:14 alnsn Exp $
#
# Public Domain.
#

.include <bsd.init.mk>

.PATH:	${.CURDIR}/../../../../external/bsd/sljit/sljit \
	${.CURDIR}/../../../../external/bsd/sljit/dist/sljit_src

LIB=	rumpkern_sljit
COMMENT=Stackless JIT compiler

SRCS=	sljitLir.c sljit_mod.c

# NOTE This is not the best place for icache sync routine but only
# sljit uses it at the moment.
# XXX Think about a good hypercall interface (hi, pooka!) and move
# this stuff to rumpuser.
.if !empty(MACHINE_ARCH:Mmips*)
SRCS+=			cache.c
RUMPCOMP_USER_SRCS=	sljit_rump.c
.PATH:			${.CURDIR}/arch/mips

RUMPCOMP_INCS_DIR:=	${.PARSEDIR}
RUMPCOMP_USER_CPPFLAGS=-I${RUMPCOMP_INCS_DIR}
.endif

.if !empty(MACHINE_ARCH:Marm*) || !empty(MACHINE_ARCH:Mearm*)
SRCS+=			cpufunc.c
RUMPCOMP_USER_SRCS=	sljit_rump.c
.PATH:			${.CURDIR}/arch/arm

RUMPCOMP_INCS_DIR:=	${.PARSEDIR}
RUMPCOMP_USER_CPPFLAGS=-I${RUMPCOMP_INCS_DIR}

# Link to libarm to get arm_sync_icache(2)
LIBDPLIBS+=	arm ${NETBSDSRCDIR}/lib/libarch
.endif

.if !empty(MACHINE_ARCH:Maarch64*)
SRCS+=			cpufunc.c
RUMPCOMP_USER_SRCS=	sljit_rump.c
.PATH:			${.CURDIR}/arch/aarch64

RUMPCOMP_INCS_DIR:=	${.PARSEDIR}
RUMPCOMP_USER_CPPFLAGS=-I${RUMPCOMP_INCS_DIR}
.endif

.include <bsd.lib.mk>
.include <bsd.klinks.mk>