1# 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 24CROSS_COMPILE ?= mips_4KC- 25 26# 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 42PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__ 43 44# 45# From Linux arch/mips/Makefile 46# 47# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel 48# code since it only slows down the whole thing. At some point we might make 49# use of global pointer optimizations but their use of $28 conflicts with 50# the current pointer optimization. 51# 52# The DECStation requires an ECOFF kernel for remote booting, other MIPS 53# machines may also. Since BFD is incredibly buggy with respect to 54# crossformat linking we rely on the elf2ecoff tool for format conversion. 55# 56# cflags-y += -G 0 -mno-abicalls -fno-pic -pipe 57# cflags-y += -msoft-float 58# LDFLAGS_vmlinux += -G 0 -static -n -nostdlib 59# MODFLAGS += -mlong-calls 60# 61# On the other hand, we want PIC in the U-Boot code to relocate it from ROM 62# to RAM. $28 is always used as gp. 63# 64PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic $(ENDIANNESS) 65PLATFORM_CPPFLAGS += -msoft-float 66PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib $(ENDIANNESS) 67PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections 68LDFLAGS_FINAL += --gc-sections -pie 69OBJCFLAGS += --remove-section=.dynsym 70