xref: /netbsd-src/compat/arm/eabihf/bsd.eabihf.mk (revision 57f1bae4e0559ae7596c76dec31b731650560657)
1*57f1bae4Sriastradh#	$NetBSD: bsd.eabihf.mk,v 1.5 2023/05/13 10:56:55 riastradh Exp $
27b20bc5bSmatt
37b20bc5bSmatt.if !defined(MLIBDIR)
47b20bc5bSmatt
57b20bc5bSmattMLIBDIR=		eabihf
67b20bc5bSmatt
77b20bc5bSmattEARM_COMPAT_FLAGS=	-mfloat-abi=hard
87b20bc5bSmattEARM_COMPAT_FLAGS+=	-mabi=aapcs-linux
97b20bc5bSmattMKSOFTFLOAT=no
107b20bc5bSmatt
117b20bc5bSmatt.if ${MACHINE_ARCH} == "aarch64eb"
12a5887d4eSmattEARM_COMPAT_FLAGS+=	-target armeb--netbsdelf-eabihf
137b20bc5bSmattEARM_COMPAT_FLAGS+=	-mcpu=cortex-a53
147b20bc5bSmattARM_MACHINE_ARCH=	earmv7hfeb
157b20bc5bSmattLDFLAGS+=		-Wl,--be8
167b20bc5bSmattARM_LD=			-m armelfb_nbsd_eabihf --be8
177b20bc5bSmatt.elif ${MACHINE_ARCH} == "aarch64"
18a5887d4eSmattEARM_COMPAT_FLAGS+=	-target arm--netbsdelf-eabihf
197b20bc5bSmattEARM_COMPAT_FLAGS+=	-mcpu=cortex-a53
207b20bc5bSmattARM_MACHINE_ARCH=	earmv7hf
217b20bc5bSmattARM_LD=			-m armelf_nbsd_eabihf
227b20bc5bSmatt.elif !empty(MACHINE_ARCH:M*eb)
23a5887d4eSmattEARM_COMPAT_FLAGS+=	-target armeb--netbsdelf-eabihf
247b20bc5bSmattARM_MACHINE_ARCH=	earmhfeb
257b20bc5bSmattARM_LD=			-m armelfb_nbsd_eabihf
267b20bc5bSmatt.else
27a5887d4eSmattEARM_COMPAT_FLAGS+=	-target arm--netbsdelf-eabihf
287b20bc5bSmattARM_MACHINE_ARCH=	earmhf
297b20bc5bSmattARM_LD=			-m armelf_nbsd_eabihf
307b20bc5bSmatt.endif
317b20bc5bSmatt
327b20bc5bSmattEARM_COMPAT_FLAGS+=	-B ${TOOLDIR}/aarch64--netbsd/bin
337b20bc5bSmatt
347b20bc5bSmattLIBC_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
357b20bc5bSmattLIBGCC_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
367b20bc5bSmattLIBEXECINFO_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
377b20bc5bSmattLIBM_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
387b20bc5bSmattCOMMON_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
397b20bc5bSmattKVM_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
407b20bc5bSmattPTHREAD_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
417b20bc5bSmattBFD_MACHINE_ARCH=	earmhf
427b20bc5bSmattCSU_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
437b20bc5bSmattGOMP_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
44589b128fSmattXORG_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
457b20bc5bSmatt
467b20bc5bSmattCOMMON_MACHINE_CPU=	arm
477b20bc5bSmattCOMPAT_MACHINE_CPU=	arm
487b20bc5bSmattCRYPTO_MACHINE_CPU=	arm
497b20bc5bSmattCSU_MACHINE_CPU=	arm
507b20bc5bSmattKVM_MACHINE_CPU=	arm
517b20bc5bSmattLDELFSO_MACHINE_CPU=	arm
527b20bc5bSmattLIBC_MACHINE_CPU=	arm
537b20bc5bSmattPTHREAD_MACHINE_CPU=	arm
547b20bc5bSmatt
557b20bc5bSmatt.if defined(ACTIVE_CC)
567b20bc5bSmattEARM_COMPAT_FLAGS+=	${${ACTIVE_CC} == "gcc":?-Wa,-meabi=5:}
577b20bc5bSmatt.endif
587b20bc5bSmatt
597b20bc5bSmattCOPTS+=			${EARM_COMPAT_FLAGS}
607b20bc5bSmattCPUFLAGS+=		${EARM_COMPAT_FLAGS}
617b20bc5bSmattLDADD+=			${EARM_COMPAT_FLAGS}
627b20bc5bSmattLDFLAGS+=		${EARM_COMPAT_FLAGS}
637b20bc5bSmattMKDEPFLAGS+=		${EARM_COMPAT_FLAGS}
647b20bc5bSmatt
65*57f1bae4Sriastradh# sync with MKRELRO in bsd.own.mk
66*57f1bae4SriastradhNORELRO=		# defined
67*57f1bae4Sriastradh
687b20bc5bSmatt.include "${.PARSEDIR}/../../Makefile.compat"
697b20bc5bSmatt
707b20bc5bSmatt.endif
717b20bc5bSmatt
727b20bc5bSmatt.if empty(LD:M-m)
737b20bc5bSmattLD+=			${ARM_LD}
747b20bc5bSmatt.endif
75