blob: b68025616425feca787ee71a8465966ae0aeb8c3 [file] [log] [blame]
wdenk4fc95692003-02-28 00:49:47 +00001#
2# (C) Copyright 2003
3# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4#
5# See file CREDITS for list of people who contributed to this
6# project.
7#
8# This program is free software; you can redistribute it and/or
9# modify it under the terms of the GNU General Public License as
10# published by the Free Software Foundation; either version 2 of
11# the License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21# MA 02111-1307 USA
22#
23
Mike Frysinger8378ba42009-06-14 23:33:14 -040024CROSS_COMPILE ?= mips_4KC-
25
Daniel Schwierzeckc390ba52012-08-21 23:27:37 +020026# Handle special prefix in ELDK 4.0 toolchain
27ifneq (,$(findstring 4KCle,$(CROSS_COMPILE)))
28ENDIANNESS := -EL
29endif
30
31ifdef CONFIG_SYS_LITTLE_ENDIAN
32ENDIANNESS := -EL
33endif
34
35ifdef CONFIG_SYS_BIG_ENDIAN
36ENDIANNESS := -EB
37endif
38
39# Default to EB if no endianess is configured
40ENDIANNESS ?= -EB
41
Wolfgang Denk33a57342011-02-04 14:25:17 +010042CONFIG_STANDALONE_LOAD_ADDR ?= 0x80200000 -T mips.lds
Mike Frysinger5b660442009-09-03 23:12:47 -040043
wdenk4fc95692003-02-28 00:49:47 +000044PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
Shinya Kuribayashi4b6d2802007-10-21 21:30:42 +090045
46#
47# From Linux arch/mips/Makefile
48#
49# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel
50# code since it only slows down the whole thing. At some point we might make
51# use of global pointer optimizations but their use of $28 conflicts with
52# the current pointer optimization.
53#
54# The DECStation requires an ECOFF kernel for remote booting, other MIPS
55# machines may also. Since BFD is incredibly buggy with respect to
56# crossformat linking we rely on the elf2ecoff tool for format conversion.
57#
58# cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
59# cflags-y += -msoft-float
60# LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
61# MODFLAGS += -mlong-calls
62#
Shinya Kuribayashi8bf10e22008-06-05 22:29:00 +090063# On the other hand, we want PIC in the U-Boot code to relocate it from ROM
64# to RAM. $28 is always used as gp.
Shinya Kuribayashi4b6d2802007-10-21 21:30:42 +090065#
Daniel Schwierzeckc390ba52012-08-21 23:27:37 +020066PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic $(ENDIANNESS)
Shinya Kuribayashi4b6d2802007-10-21 21:30:42 +090067PLATFORM_CPPFLAGS += -msoft-float
Daniel Schwierzeckc390ba52012-08-21 23:27:37 +020068PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib $(ENDIANNESS)
Daniel Schwierzeck089f2a12011-04-15 17:16:44 +020069PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
70LDFLAGS_FINAL += --gc-sections