b501ab9dc9
r238211: Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb This adds a new TARGET_ARCH for building on ARM processors that support the ARMv6K multiprocessor extensions. In particular, these processors have better support for TLS and mutex operations. This mostly touches a lot of Makefiles to extend existing patterns for inferring CPUARCH from ARCH. It also configures: * GCC to default to arm1176jz-s * GCC to predefine __FreeBSD_ARCH_armv6__ * gas to default to ARM_ARCH_V6K * uname -p to return 'armv6' * make so that MACHINE_ARCH defaults to 'armv6' It also changes a number of headers to use the compiler __ARM_ARCH_XXX__ macros to configure processor-specific support routines. Submitted by: Tim Kientzle <kientzle@freebsd.org>
53 lines
1.6 KiB
Makefile
53 lines
1.6 KiB
Makefile
# $FreeBSD$
|
|
#
|
|
# This is included explicitly at the top of each sub-Makefile. We can't
|
|
# use the normal "Makefile.inc" mechanism, because we need some of these
|
|
# definitions before the sub-Makefile is processed.
|
|
|
|
VERSION= "2.17.50 [FreeBSD] 2007-07-03"
|
|
|
|
.if defined(TARGET_ARCH)
|
|
TARGET_CPUARCH=${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/powerpc64/powerpc/}
|
|
.else
|
|
TARGET_CPUARCH=${MACHINE_CPUARCH}
|
|
.endif
|
|
TARGET_ARCH?= ${MACHINE_ARCH}
|
|
TARGET_VENDOR?= unknown
|
|
TARGET_OS?= freebsd
|
|
BINUTILS_ARCH=${TARGET_ARCH:C/amd64/x86_64/}
|
|
TARGET_TUPLE?= ${BINUTILS_ARCH}-${TARGET_VENDOR}-${TARGET_OS}
|
|
.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb" || \
|
|
(${TARGET_CPUARCH} == "mips" && ${TARGET_ARCH:Mmips*el} == "")
|
|
TARGET_BIG_ENDIAN=t
|
|
.endif
|
|
|
|
# RELTOP is the relative path to this point in the source or object
|
|
# tree, from any subdirectory of same. It gets extra "../" prefixes
|
|
# added to it as we descend into subdirectories.
|
|
RELTOP:= ..
|
|
|
|
RELSRC= ${RELTOP}/../../../contrib/binutils
|
|
SRCDIR= ${.CURDIR}/${RELSRC}
|
|
|
|
.if ${TARGET_CPUARCH} == "arm" || ${TARGET_CPUARCH} == "i386" || \
|
|
${TARGET_ARCH} == "powerpc" || \
|
|
(${TARGET_CPUARCH} == "mips" && ${TARGET_ARCH:Mmips64*} == "")
|
|
CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=32
|
|
.else
|
|
CFLAGS+= -DBFD_DEFAULT_TARGET_SIZE=64
|
|
.endif
|
|
|
|
CFLAGS+= -I.
|
|
CFLAGS+= -I${.CURDIR}
|
|
CFLAGS+= -I${.CURDIR}/${RELTOP}/libbfd
|
|
CFLAGS+= -I${.OBJDIR}/${RELTOP}/libbfd
|
|
CFLAGS+= -I${SRCDIR}/include
|
|
|
|
ARCHS= ${TARGET_CPUARCH}
|
|
|
|
.if exists(${.CURDIR}/Makefile.${TARGET_ARCH})
|
|
.include "${.CURDIR}/Makefile.${TARGET_ARCH}"
|
|
.elif exists(${.CURDIR}/Makefile.${TARGET_CPUARCH})
|
|
.include "${.CURDIR}/Makefile.${TARGET_CPUARCH}"
|
|
.endif
|