11.12Sriastrad# $NetBSD: Makefile.inc,v 1.12 2024/05/09 19:54:38 riastradh Exp $
21.1Sjoerg
31.11SrinCOMPILER_RT_DIR=	${NETBSDSRCDIR}/sys/external/bsd/compiler_rt
41.11SrinCOMPILER_RT_SRCDIR=	${COMPILER_RT_DIR}/dist
51.1Sjoerg
61.8Sjoerg.if ${MACHINE_CPU} == "powerpc"
71.5SjoergCOMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/ppc
81.5SjoergCOMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/ppc
91.1Sjoerg.else
101.5SjoergCOMPILER_RT_CPU_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/${MACHINE_CPU}
111.5SjoergCOMPILER_RT_ARCH_DIR=	${COMPILER_RT_SRCDIR}/lib/builtins/${MACHINE_ARCH}
121.1Sjoerg.endif
131.1Sjoerg
141.1Sjoerg.PATH: ${COMPILER_RT_CPU_DIR}
151.1Sjoerg.PATH: ${COMPILER_RT_ARCH_DIR}
161.5Sjoerg.PATH: ${COMPILER_RT_SRCDIR}/lib/builtins
171.1Sjoerg
181.1Sjoerg# Needs scaling support
191.1SjoergGENERIC_SRCS+= \
201.9Sjoerg	muldc3.c \
211.9Sjoerg	mulsc3.c \
221.1Sjoerg	mulxc3.c \
231.1Sjoerg	divdc3.c \
241.9Sjoerg	divsc3.c \
251.9Sjoerg	divxc3.c
261.1Sjoerg
271.12Sriastrad.if ${MACHINE_CPU} == "powerpc" || ${LIBC_MACHINE_ARCH:U} == "sparc64" || ${LIBC_MACHINE_CPU:U} == "aarch64"
281.7SjoergGENERIC_SRCS+= \
291.7Sjoerg	divtc3.c \
301.7Sjoerg	multc3.c
311.7Sjoerg.endif
321.7Sjoerg
331.1Sjoerg.for src in ${GENERIC_SRCS}
341.1Sjoerg.  if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \
351.1Sjoerg      exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S)
361.1SjoergSRCS+=	${src:R}.S
371.1Sjoerg.  else
381.1SjoergSRCS+=	${src}
391.1SjoergCOPTS.${src}+=	-Wno-error=missing-prototypes
401.1Sjoerg.  endif
411.1Sjoerg.endfor
421.11Srin
431.11Srin.include "${COMPILER_RT_DIR}/abi.mk"
44