# $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>