#
# frv/Makefile
#
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies. Remember to do have actions
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
#
# This file is subject to the terms and conditions of the GNU General Public
# License.  See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (c) 2003, 2004 Red Hat Inc.
# - Written by David Howells <dhowells@redhat.com>
# - Derived from arch/m68knommu/Makefile,
#	Copyright (c) 1999,2001  D. Jeff Dionne <jeff@lineo.ca>,
#	Rt-Control Inc. / Lineo, Inc.
#
# Copyright (C) 1998,1999  D. Jeff Dionne <jeff@uclinux.org>,
#                          Kenneth Albanowski <kjahds@kjahds.com>,
#
# Based on arch/m68k/Makefile:
# Copyright (C) 1994 by Hamish Macdonald
#

CCSPECS	:= $(shell $(CC) -v 2>&1 | grep "^Reading specs from " | head -1 | cut -c20-)
CCDIR	:= $(strip $(patsubst %/specs,%,$(CCSPECS)))
CPUCLASS := fr400

# test for cross compiling
COMPILE_ARCH = $(shell uname -m)

ifdef CONFIG_MMU
UTS_SYSNAME = -DUTS_SYSNAME=\"Linux\"
else
UTS_SYSNAME = -DUTS_SYSNAME=\"uClinux\"
endif

ARCHMODFLAGS	+= -G0 -mlong-calls

ifdef CONFIG_GPREL_DATA_8
CFLAGS		+= -G8
else
ifdef CONFIG_GPREL_DATA_4
CFLAGS		+= -G4
else
ifdef CONFIG_GPREL_DATA_NONE
CFLAGS		+= -G0
endif
endif
endif

#LDFLAGS_vmlinux	:= -Map linkmap.txt

ifdef CONFIG_GC_SECTIONS
CFLAGS		+= -ffunction-sections -fdata-sections
LINKFLAGS	+= --gc-sections
endif

ifndef CONFIG_FRAME_POINTER
CFLAGS		+= -mno-linked-fp
endif

ifdef CONFIG_CPU_FR451_COMPILE
CFLAGS		+= -mcpu=fr450
AFLAGS		+= -mcpu=fr450
ASFLAGS		+= -mcpu=fr450
else
ifdef CONFIG_CPU_FR551_COMPILE
CFLAGS		+= -mcpu=fr550
AFLAGS		+= -mcpu=fr550
ASFLAGS		+= -mcpu=fr550
else
CFLAGS		+= -mcpu=fr400
AFLAGS		+= -mcpu=fr400
ASFLAGS		+= -mcpu=fr400
endif
endif

# pretend the kernel is going to run on an FR400 with no media-fp unit
# - reserve CC3 for use with atomic ops
# - all the extra registers are dealt with only at context switch time
CFLAGS		+= -mno-fdpic -mgpr-32 -msoft-float -mno-media
CFLAGS		+= -ffixed-fcc3 -ffixed-cc3 -ffixed-gr15 -ffixed-icc2
AFLAGS		+= -mno-fdpic
ASFLAGS		+= -mno-fdpic

# make sure the .S files get compiled with debug info
# and disable optimisations that are unhelpful whilst debugging
ifdef CONFIG_DEBUG_INFO
CFLAGS		+= -O1
AFLAGS		+= -Wa,--gdwarf2
ASFLAGS		+= -Wa,--gdwarf2
endif

head-y		:= arch/frv/kernel/head.o arch/frv/kernel/init_task.o

core-y		+= arch/frv/kernel/ arch/frv/mm/
libs-y		+= arch/frv/lib/

core-$(CONFIG_MB93090_MB00)	+= arch/frv/mb93090-mb00/

all: Image

Image: vmlinux
	$(Q)$(MAKE) $(build)=arch/frv/boot $@

bootstrap:
	$(Q)$(MAKEBOOT) bootstrap

archmrproper:
	$(Q)$(MAKE) $(build)=arch/frv/boot mrproper

archclean:
	$(Q)$(MAKE) $(build)=arch/frv/boot clean

archdep: scripts/mkdep symlinks
	$(Q)$(MAKE) $(build)=arch/frv/boot dep
