11.5Sriastrad#	$NetBSD: bsd.eabihf.mk,v 1.5 2023/05/13 10:56:55 riastradh Exp $
21.1Smatt
31.1Smatt.if !defined(MLIBDIR)
41.1Smatt
51.1SmattMLIBDIR=		eabihf
61.1Smatt
71.1SmattEARM_COMPAT_FLAGS=	-mfloat-abi=hard
81.1SmattEARM_COMPAT_FLAGS+=	-mabi=aapcs-linux
91.1SmattMKSOFTFLOAT=no
101.1Smatt
111.1Smatt.if ${MACHINE_ARCH} == "aarch64eb"
121.2SmattEARM_COMPAT_FLAGS+=	-target armeb--netbsdelf-eabihf
131.1SmattEARM_COMPAT_FLAGS+=	-mcpu=cortex-a53
141.1SmattARM_MACHINE_ARCH=	earmv7hfeb
151.1SmattLDFLAGS+=		-Wl,--be8
161.1SmattARM_LD=			-m armelfb_nbsd_eabihf --be8
171.1Smatt.elif ${MACHINE_ARCH} == "aarch64"
181.2SmattEARM_COMPAT_FLAGS+=	-target arm--netbsdelf-eabihf
191.1SmattEARM_COMPAT_FLAGS+=	-mcpu=cortex-a53
201.1SmattARM_MACHINE_ARCH=	earmv7hf
211.1SmattARM_LD=			-m armelf_nbsd_eabihf
221.1Smatt.elif !empty(MACHINE_ARCH:M*eb)
231.2SmattEARM_COMPAT_FLAGS+=	-target armeb--netbsdelf-eabihf
241.1SmattARM_MACHINE_ARCH=	earmhfeb
251.1SmattARM_LD=			-m armelfb_nbsd_eabihf
261.1Smatt.else
271.2SmattEARM_COMPAT_FLAGS+=	-target arm--netbsdelf-eabihf
281.1SmattARM_MACHINE_ARCH=	earmhf
291.1SmattARM_LD=			-m armelf_nbsd_eabihf
301.1Smatt.endif
311.1Smatt
321.4SriastradEARM_COMPAT_FLAGS+=	-B ${TOOLDIR}/aarch64--netbsd/bin
331.1Smatt
341.1SmattLIBC_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
351.1SmattLIBGCC_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
361.1SmattLIBEXECINFO_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
371.1SmattLIBM_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
381.1SmattCOMMON_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
391.1SmattKVM_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
401.1SmattPTHREAD_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
411.1SmattBFD_MACHINE_ARCH=	earmhf
421.1SmattCSU_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
431.1SmattGOMP_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
441.3SmattXORG_MACHINE_ARCH=	${ARM_MACHINE_ARCH}
451.1Smatt
461.1SmattCOMMON_MACHINE_CPU=	arm
471.1SmattCOMPAT_MACHINE_CPU=	arm
481.1SmattCRYPTO_MACHINE_CPU=	arm
491.1SmattCSU_MACHINE_CPU=	arm
501.1SmattKVM_MACHINE_CPU=	arm
511.1SmattLDELFSO_MACHINE_CPU=	arm
521.1SmattLIBC_MACHINE_CPU=	arm
531.1SmattPTHREAD_MACHINE_CPU=	arm
541.1Smatt
551.1Smatt.if defined(ACTIVE_CC)
561.1SmattEARM_COMPAT_FLAGS+=	${${ACTIVE_CC} == "gcc":?-Wa,-meabi=5:}
571.1Smatt.endif
581.1Smatt
591.1SmattCOPTS+=			${EARM_COMPAT_FLAGS}
601.1SmattCPUFLAGS+=		${EARM_COMPAT_FLAGS}
611.1SmattLDADD+=			${EARM_COMPAT_FLAGS}
621.1SmattLDFLAGS+=		${EARM_COMPAT_FLAGS}
631.1SmattMKDEPFLAGS+=		${EARM_COMPAT_FLAGS}
641.1Smatt
651.5Sriastrad# sync with MKRELRO in bsd.own.mk
661.5SriastradNORELRO=		# defined
671.5Sriastrad
681.1Smatt.include "${.PARSEDIR}/../../Makefile.compat"
691.1Smatt
701.1Smatt.endif
711.1Smatt
721.1Smatt.if empty(LD:M-m)
731.1SmattLD+=			${ARM_LD}
741.1Smatt.endif
75