summaryrefslogtreecommitdiff
path: root/mk/arm-arch.mk
blob: ed9b6b8504b20ed0a6326e5d408a73a8725f3cdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
################################################################################
# Embtoolkit
# Copyright(C) 2009-2011 Abdoulaye Walsimou GAYE.
#
# This program is free software; you can distribute it and/or modify it
# under the terms of the GNU General Public License
# (Version 2 or later) published by the Free Software Foundation.
#
# This program is distributed in the hope it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
################################################################################
#
# \file         arm-arch.mk
# \brief	arm-arch.mk of Embtoolkit
# \author       Abdoulaye Walsimou GAYE <awg@embtoolkit.org>
# \date         June 2009
################################################################################

LINUX_ARCH		:= arm
GNU_TARGET_ARCH		:= arm
EMBTK_MCU_FLAG		:= $(subst ",,$(strip $(CONFIG_EMBTK_ARM_MCU_STRING)))

ifeq ($(CONFIG_EMBTK_CLIB_EGLIBC),y)
# EGLIBC C library
ifeq ($(CONFIG_EMBTK_ARCH_ARM_BIG_ENDIAN),y)
GNU_TARGET		:= armeb-linux
STRICT_GNU_TARGET	:= armeb-unknown-linux-gnueabi
else
GNU_TARGET		:= armel-linux
STRICT_GNU_TARGET	:= armel-unknown-linux-gnueabi
endif

else
# uClibc C library
ifeq ($(CONFIG_EMBTK_ARCH_ARM_BIG_ENDIAN),y)
GNU_TARGET		:= armeb-linux
STRICT_GNU_TARGET	:= armeb-unknown-linux-uclibceabi
else
GNU_TARGET		:= armel-linux
STRICT_GNU_TARGET	:= armel-unknown-linux-uclibceabi
endif

endif

# GCC configure options
GCC_WITH_CPU := --with-cpu=$(subst ",,$(strip $(CONFIG_EMBTK_ARM_MCU_STRING)))

# GCC extra configure options for arm
GCC3_CONFIGURE_EXTRA_OPTIONS += $(strip $(if $(CONFIG_EMBTK_GCC_LANGUAGE_JAVA),	\
					--enable-sjlj-exceptions))

# Hard or soft floating point for GCC?
GCC_WITH_FLOAT := $(strip $(if $(CONFIG_EMBTK_SOFTFLOAT),			\
					--with-float=soft,--with-float=softfp))
# Hard or soft floating point?
EMBTK_TARGET_FLOAT_CFLAGS := $(strip $(if $(CONFIG_EMBTK_SOFTFLOAT),		\
					-mfloat-abi=soft,-mfloat-abi=softfp))

# Some other flags for TARGET_CFLAGS
EMBTK_TARGET_MCPU	:= -mcpu=$(EMBTK_MCU_FLAG)
EMBTK_TARGET_MARCH	:=