freebsd-dev/gnu/usr.bin/cc/Makefile.inc
Andrew Turner 6d4766c1b8 Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support
the oabi is still in the tree, but it is expected this will be removed
as developers work on surrounding code.

With this commit the ARM EABI is the only supported supported ABI by
FreeBSD on ARMa 32-bit processors.

X-MFC after:	never
Relnotes:	yes
Differential Revision: https://reviews.freebsd.org/D876
2014-10-01 08:26:51 +00:00

112 lines
2.9 KiB
Makefile

# $FreeBSD$
.include <src.opts.mk>
.include "../Makefile.inc"
# Sometimes this is .include'd several times...
.if !defined(__CC_MAKEFILE_INC__)
__CC_MAKEFILE_INC__= ${MFILE}
GCCVER= 4.2
GCCDIR= ${.CURDIR}/../../../../contrib/gcc
GCCLIB= ${.CURDIR}/../../../../contrib/gcclibs
.include "Makefile.tgt"
# Machine description.
MD_FILE= ${GCCDIR}/config/${GCC_CPU}/${GCC_CPU}.md
GCC_TARGET= ${TARGET_ARCH}-undermydesk-freebsd
CFLAGS+= -DGCCVER=\"${GCCVER}\"
CFLAGS+= -DIN_GCC -DHAVE_CONFIG_H
CFLAGS+= -DPREFIX=\"${TOOLS_PREFIX}/usr\"
#CFLAGS+= -DWANT_COMPILER_INVARIANTS
CSTD?= gnu89
.if ${TARGET_ARCH} != ${MACHINE_ARCH}
CFLAGS+= -DCROSS_DIRECTORY_STRUCTURE
.endif
.if ${TARGET_CPUARCH} == "arm"
CFLAGS+= -DTARGET_ARM_EABI
.endif
.if ${TARGET_ARCH} == "armeb" || ${TARGET_ARCH} == "armv6eb"
CFLAGS += -DTARGET_ENDIAN_DEFAULT=MASK_BIG_END
.endif
.if ${TARGET_ARCH} == "armv6" || ${TARGET_ARCH} == "armv6eb"
CFLAGS += -DFREEBSD_ARCH_armv6
.endif
.if ${TARGET_CPUARCH} == "mips"
.if ${TARGET_ARCH:Mmips*el} != ""
CFLAGS += -DTARGET_ENDIAN_DEFAULT=0
.endif
.if ${TARGET_ARCH:Mmips64*} != ""
MIPS_ABI_DEFAULT=ABI_64
.elif ${TARGET_ARCH:Mmipsn32*} != ""
MIPS_ABI_DEFAULT=ABI_N32
.else
MIPS_ABI_DEFAULT=ABI_32
.endif
CFLAGS += -DMIPS_ABI_DEFAULT=${MIPS_ABI_DEFAULT}
# If we are compiling for the O32 ABI, we need to default to MIPS-III rather
# than taking the ISA from the ABI requirements, since FreeBSD is built with
# a number of MIPS-III features/instructions and that is the minimum ISA we
# support, not the O32 default MIPS-I.
.if ${MIPS_ABI_DEFAULT} == "ABI_32"
TARGET_CPUTYPE?=mips3
.endif
# GCC by default takes the ISA from the ABI's requirements. If world is built
# with a superior ISA, since we lack multilib, we have to set the right
# default ISA to be able to link against what's in /usr/lib. Terrible stuff.
.if defined(TARGET_CPUTYPE)
CFLAGS += -DMIPS_CPU_STRING_DEFAULT=\"${TARGET_CPUTYPE}\"
.endif
.endif
.if defined(WANT_FORCE_OPTIMIZATION_DOWNGRADE)
CFLAGS+= -DFORCE_OPTIMIZATION_DOWNGRADE=${WANT_FORCE_OPTIMIZATION_DOWNGRADE}
.endif
.if exists(${.OBJDIR}/../cc_tools)
CFLAGS+= -I${.OBJDIR}/../cc_tools
.endif
CFLAGS+= -I${.CURDIR}/../cc_tools
# This must go after the -I for cc_tools to resolve ambiguities for hash.h
# correctly.
CFLAGS+= -I${GCCDIR} -I${GCCDIR}/config
CFLAGS+= -I${GCCLIB}/include
CFLAGS+= -I${GCCLIB}/libcpp/include
CFLAGS+= -I${GCCLIB}/libdecnumber
.if exists(${.OBJDIR}/../cc_int)
LIBBACKEND= ${.OBJDIR}/../cc_int/libbackend.a
.else
LIBBACKEND= ${.CURDIR}/../cc_int/libbackend.a
.endif
.if exists(${.OBJDIR}/../libiberty)
LIBIBERTY= ${.OBJDIR}/../libiberty/libiberty.a
.else
LIBIBERTY= ${.CURDIR}/../libiberty/libiberty.a
.endif
.if exists(${.OBJDIR}/../libcpp)
LIBCPP= ${.OBJDIR}/../libcpp/libcpp.a
.else
LIBCPP= ${.CURDIR}/../libcpp/libcpp.a
.endif
.if exists(${.OBJDIR}/../libdecnumber)
LIBDECNUMBER= ${.OBJDIR}/../libdecnumber/libdecnumber.a
.else
LIBDECNUMBER= ${.CURDIR}/../libdecnumber/libdecnumber.a
.endif
.endif # !__CC_MAKEFILE_INC__