#
# 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) 1994, 1995, 1996 by Ralf Baechle
# DECStation modifications by Paul M. Antoine, 1996
# Copyright (C) 2002, 2003, 2004  Maciej W. Rozycki
#
# 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
#

#
# Select the object file format to substitute into the linker script.
#
ifdef CONFIG_CPU_LITTLE_ENDIAN
tool-prefix	= mipsel-linux-
ld-emul		= elf32ltsmip
else
tool-prefix	= mips-linux-
ld-emul		= elf32btsmip
endif

ifdef CONFIG_CROSSCOMPILE
CROSS_COMPILE	= $(tool-prefix)
endif

MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot

#
#
# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
# code since it only slows down the whole thing.  At some point we might make
# use of global pointer optimizations but their use of $28 conflicts with
# the current pointer optimization.
#
# The DECStation requires an ECOFF kernel for remote booting, other MIPS
# machines may also.  Since BFD is incredibly buggy with respect to
# crossformat linking we rely on the elf2ecoff tool for format conversion.
#
GCCFLAGS	:= -I $(TOPDIR)/include/asm/gcc
GCCFLAGS	+= -G 0 -mno-abicalls -fno-pic -pipe
GCCFLAGS	+= $(call check_gcc, -finline-limit=100000,)
LINKFLAGS	+= -G 0 -static -n
MODFLAGS	+= -mlong-calls

ifdef CONFIG_DEBUG_INFO
GCCFLAGS	+= -g
ifdef CONFIG_SB1XXX_CORELIS
GCCFLAGS	+= -mno-sched-prolog -fno-omit-frame-pointer
endif
endif

#
# Use: $(call set_gccflags,<cpu0>,<isa0>,<cpu1>,<isa1>,<isa2>)
#
# <cpu0>,<isa0> -- preferred CPU and ISA designations (may require
#                  recent tools)
# <cpu1>,<isa1> -- fallback CPU and ISA designations (have to work
#                  with up to the oldest supported tools)
# <isa2>        -- an ISA designation used as an ABI selector for
#                  gcc versions that do not support "-mabi=32"
#                  (depending on the CPU type, either "mips1" or
#                  "mips2")
#
set_gccflags = $(shell \
while :; do \
	cpu=$(1); isa=-$(2); \
	for gcc_opt in -march= -mcpu=; do \
		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
			-xc /dev/null > /dev/null 2>&1 && \
			break 2; \
	done; \
	cpu=$(3); isa=-$(4); \
	for gcc_opt in -march= -mcpu=; do \
		$(CC) $$gcc_opt$$cpu $$isa -S -o /dev/null \
			-xc /dev/null > /dev/null 2>&1 && \
			break 2; \
	done; \
	break; \
done; \
gcc_abi=-mabi=32; gcc_cpu=$$cpu; \
if $(CC) $$gcc_abi -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then \
	gcc_isa=$$isa; \
else \
	gcc_abi=; gcc_isa=-$(5); \
fi; \
gas_abi=-Wa,-32; gas_cpu=$$cpu; gas_isa=-Wa,$$isa; \
while :; do \
	for gas_opt in -Wa,-march= -Wa,-mcpu=; do \
		$(CC) $$gas_abi $$gas_opt$$cpu $$gas_isa -Wa,-Z -c \
			-o /dev/null -xassembler /dev/null > /dev/null 2>&1 && \
			break 2; \
	done; \
	gas_abi=; gas_opt=; gas_cpu=; gas_isa=; \
	break; \
done; \
if test "$$gcc_opt" = -march= && test -n "$$gcc_abi"; then \
	$(CC) $$gcc_abi $$gcc_opt$$gcc_cpu -S -o /dev/null \
		-xc /dev/null > /dev/null 2>&1 && \
		gcc_isa=; \
fi; \
echo $$gcc_abi $$gcc_opt$$gcc_cpu $$gcc_isa $$gas_abi $$gas_opt$$gas_cpu $$gas_isa)

#
# CPU-dependent compiler/assembler options for optimization.
#
ifdef CONFIG_CPU_R3000
GCCFLAGS	+= $(call set_gccflags,r3000,mips1,r3000,mips1,mips1)
endif
ifdef CONFIG_CPU_TX39XX
GCCFLAGS	+= $(call set_gccflags,r3900,mips1,r3000,mips1,mips1)
endif
ifdef CONFIG_CPU_R6000
GCCFLAGS	+= $(call set_gccflags,r6000,mips2,r6000,mips2,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_R4300
GCCFLAGS	+= $(call set_gccflags,r4300,mips3,r4300,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_VR41XX
GCCFLAGS	+= $(call set_gccflags,r4100,mips3,r4600,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_R4X00
GCCFLAGS	+= $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_TX49XX
GCCFLAGS	+= $(call set_gccflags,r4600,mips3,r4600,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_MIPS32
GCCFLAGS	+= $(call set_gccflags,mips32,mips32,r4600,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_MIPS64
GCCFLAGS	+= $(call set_gccflags,mips64,mips64,r4600,mips3,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_R5000
GCCFLAGS	+= $(call set_gccflags,r5000,mips4,r5000,mips4,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_R5432
GCCFLAGS	+= $(call set_gccflags,r5400,mips4,r5000,mips4,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_NEVADA
GCCFLAGS	+= $(call set_gccflags,rm5200,mips4,r5000,mips4,mips2) \
		   -Wa,--trap
#GCCFLAGS	+= $(call check_gcc,-mmad,)
endif
ifdef CONFIG_CPU_RM7000
GCCFLAGS	+= $(call set_gccflags,rm7000,mips4,r5000,mips4,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_RM9000
GCCFLAGS	+= $(call set_gccflags,rm9000,mips4,r5000,mips4,mips2) \
		   -Wa,--trap
endif
ifdef CONFIG_CPU_SB1
GCCFLAGS	+= $(call set_gccflags,sb1,mips64,r5000,mips4,mips2) \
		   -Wa,--trap
ifdef CONFIG_SB1_PASS_1_WORKAROUNDS
MODFLAGS	+= -msb1-pass1-workarounds
endif
endif

AFLAGS		+= $(GCCFLAGS)
CFLAGS		+= $(GCCFLAGS)

LD		+= -m $(ld-emul)


#
# We unconditionally build the math emulator
#
CORE_FILES	+= arch/mips/math-emu/fpu_emulator.o
SUBDIRS		+= arch/mips/math-emu

#
# ramdisk/initrd support
# You need a compressed ramdisk image, named ramdisk.gz in
# arch/mips/ramdisk
#
ifdef CONFIG_EMBEDDED_RAMDISK
CORE_FILES	+= arch/mips/ramdisk/ramdisk.o
SUBDIRS		+= arch/mips/ramdisk
endif


#
# Board-dependent options and extra files
#

#
# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
#
ifdef CONFIG_MIPS_JAZZ
CORE_FILES	+= arch/mips/jazz/jazz.o
SUBDIRS		+= arch/mips/jazz arch/mips/arc
LIBS		+= arch/mips/arc/arclib.a
LOADADDR	:= 0x80080000
endif

#
# Au1000 (Alchemy Semi PB1000) eval board
#
ifdef CONFIG_MIPS_PB1000
LIBS		+= arch/mips/au1000/pb1000/pb1000.o \
		   arch/mips/au1000/common/au1000.o
SUBDIRS		+= arch/mips/au1000/pb1000 arch/mips/au1000/common
LOADADDR	:= 0x80100000
endif

#
# Au1100 (Alchemy Semi PB1100) eval board
#
ifdef CONFIG_MIPS_PB1100
LIBS          += arch/mips/au1000/pb1100/pb1100.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/pb1100 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

#
# Au1500 (Alchemy Semi PB1500) eval board
#
ifdef CONFIG_MIPS_PB1500
LIBS		+= arch/mips/au1000/pb1500/pb1500.o \
		   arch/mips/au1000/common/au1000.o
SUBDIRS		+= arch/mips/au1000/pb1500 arch/mips/au1000/common
LOADADDR	:= 0x80100000
endif

#
# Au1x00 (AMD/Alchemy) eval boards
#
ifdef CONFIG_MIPS_DB1000
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_DB1500
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_DB1550
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_DB1100
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_HYDROGEN3
LIBS          += arch/mips/au1000/hydrogen3/hydrogen3.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/hydrogen3 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_BOSPORUS
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_MIRAGE
LIBS          += arch/mips/au1000/db1x00/db1x00.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/db1x00 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_XXS1500
LIBS          += arch/mips/au1000/xxs1500/xxs1500.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/xxs1500 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_MTX1
LIBS          += arch/mips/au1000/mtx-1/mtx-1.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/mtx-1 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif

ifdef CONFIG_MIPS_PB1550
LIBS          += arch/mips/au1000/pb1550/pb1550.o \
                 arch/mips/au1000/common/au1000.o
SUBDIRS       += arch/mips/au1000/pb1550 arch/mips/au1000/common
LOADADDR      += 0x80100000
endif


#
# Cogent CSB250
#
ifdef CONFIG_COGENT_CSB250
LIBS		+= arch/mips/au1000/csb250/csb250.o \
		   arch/mips/au1000/common/au1000.o
SUBDIRS		+= arch/mips/au1000/csb250 arch/mips/au1000/common
LOADADDR	:= 0x80100000
endif

ifdef CONFIG_PCI
CORE_FILES    += arch/mips/pci/pci-core.o
SUBDIRS       += arch/mips/pci
endif

#
# Algorithmics P4032
#
ifdef CONFIG_ALGOR_P4032
CORE_FILES	+= arch/mips/algor/algor.o
SUBDIRS		+= arch/mips/algor
LOADADDR	:= 0x80000000
endif

#
# Baget/MIPS
#
ifdef CONFIG_BAGET_MIPS
SUBDIRS		+= arch/mips/baget arch/mips/baget/prom
LIBS		+= arch/mips/baget/baget.a arch/mips/baget/prom/bagetlib.a
LOADADDR	:= 0x80001000
endif

#
# Cobalt Server
#
ifdef CONFIG_MIPS_COBALT
SUBDIRS		+= arch/mips/cobalt
CORE_FILES	+= arch/mips/cobalt/cobalt.o
LOADADDR	:= 0x80080000
endif

#
# DECstation family
#
ifdef CONFIG_DECSTATION
CORE_FILES	+= arch/mips/dec/dec.o
SUBDIRS		+= arch/mips/dec arch/mips/dec/prom
LIBS		+= arch/mips/dec/prom/rexlib.a
LOADADDR	:= 0x80040000
endif

#
# Galileo EV64120 Board
#
ifdef CONFIG_MIPS_EV64120
LIBS		+= arch/mips/gt64120/common/gt64120.o \
		   arch/mips/gt64120/ev64120/ev64120.o
SUBDIRS		+= arch/mips/gt64120/common arch/mips/gt64120/ev64120
LOADADDR	:= 0x80100000
endif

#
# Galileo EV96100 Board
#
ifdef CONFIG_MIPS_EV96100
LIBS		+= arch/mips/galileo-boards/ev96100/ev96100.o
SUBDIRS		+= arch/mips/galileo-boards/ev96100
LOADADDR	:= 0x80100000
endif

#
# Globespan IVR eval board with QED 5231 CPU
#
ifdef CONFIG_MIPS_IVR
LIBS		+= arch/mips/ite-boards/ivr/ivr.o \
		   arch/mips/ite-boards/generic/it8172.o
SUBDIRS		+= arch/mips/ite-boards/generic arch/mips/ite-boards/ivr
LOADADDR	:= 0x80100000
endif

#
# HP LaserJet
#
ifdef CONFIG_HP_LASERJET
SUBDIRS		+= arch/mips/hp-lj
LIBS		+= arch/mips/hp-lj/hp-lj.o
LOADADDR	:= 0x80030000
endif

#
# ITE 8172 eval board with QED 5231 CPU
#
ifdef CONFIG_MIPS_ITE8172
LIBS		+= arch/mips/ite-boards/qed-4n-s01b/ite.o \
		   arch/mips/ite-boards/generic/it8172.o
SUBDIRS		+= arch/mips/ite-boards/generic arch/mips/ite-boards/qed-4n-s01b
LOADADDR	:= 0x80100000
endif

#
# MIPS Atlas board
#
ifdef CONFIG_MIPS_ATLAS
LIBS		+= arch/mips/mips-boards/atlas/atlas.o \
		   arch/mips/mips-boards/generic/mipsboards.o
SUBDIRS		+= arch/mips/mips-boards/generic arch/mips/mips-boards/atlas
LOADADDR	:= 0x80100000
endif

#
# MIPS Malta board
#
ifdef CONFIG_MIPS_MALTA
LIBS		+= arch/mips/mips-boards/malta/malta.o \
		   arch/mips/mips-boards/generic/mipsboards.o
SUBDIRS		+= arch/mips/mips-boards/malta arch/mips/mips-boards/generic
LOADADDR	:= 0x80100000
endif

#
# MIPS SEAD board
#
ifdef CONFIG_MIPS_SEAD
LIBS		+= arch/mips/mips-boards/sead/sead.o \
		   arch/mips/mips-boards/generic/mipsboards.o
SUBDIRS		+= arch/mips/mips-boards/generic arch/mips/mips-boards/sead
LOADADDR	:= 0x80100000
endif

#
# Momentum Ocelot board
#
ifdef CONFIG_MOMENCO_OCELOT
# The Ocelot setup.o must be linked early - it does the ioremap() for the
# mips_io_port_base.
CORE_FILES	+= arch/mips/gt64120/common/gt64120.o \
		   arch/mips/gt64120/momenco_ocelot/momenco_ocelot.o
SUBDIRS		+= arch/mips/gt64120/common arch/mips/gt64120/momenco_ocelot
LOADADDR	:= 0x80100000
endif

#
# Momentum Ocelot-G board
#
ifdef CONFIG_MOMENCO_OCELOT_G
# The Ocelot-G setup.o must be linked early - it does the ioremap() for the
# mips_io_port_base.
CORE_FILES	+= arch/mips/momentum/ocelot_g/ocelot_g.o
SUBDIRS		+= arch/mips/momentum/ocelot_g
LOADADDR	:= 0x80100000
endif

#
# Momentum Ocelot-C and -CS boards
#
ifdef CONFIG_MOMENCO_OCELOT_C
# The Ocelot-C[S] setup.o must be linked early - it does the ioremap() for the
# mips_io_port_base.
CORE_FILES	+= arch/mips/momentum/ocelot_c/ocelot_c.o
SUBDIRS		+= arch/mips/momentum/ocelot_c
LOADADDR	:= 0x80100000
endif

ifdef CONFIG_PMC_BIG_SUR
CORE_FILES	+= arch/mips/pmc-sierra/big_sur/big_sur.o
SUBDIRS		+= arch/mips/pmc-sierra/big_sur
LOADADDR	:= 0x80100000
endif

ifdef CONFIG_PMC_STRETCH
CORE_FILES	+= arch/mips/pmc-sierra/stretch/stretch.o
SUBDIRS		+= arch/mips/pmc-sierra/stretch
LOADADDR	:= 0x80200000
endif

ifdef CONFIG_MOMENCO_JAGUAR_ATX
LIBS		+= arch/mips/momentum/jaguar_atx/jaguar_atx.o
SUBDIRS		+= arch/mips/momentum/jaguar_atx
ifdef CONFIG_JAGUAR_DMALOW
LOADADDR	:= 0x88000000
else
LOADADDR	:= 0x80100000
endif
endif

#
# NEC DDB Vrc-5074
#
ifdef CONFIG_DDB5074
SUBDIRS		+= arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5074
LIBS		+= arch/mips/ddb5xxx/common/ddb5xxx.o arch/mips/ddb5xxx/ddb5074/ddb5074.o
LOADADDR	:= 0x80080000
endif

#
# NEC DDB Vrc-5476
#
ifdef CONFIG_DDB5476
SUBDIRS		+= arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5476
LIBS		+= arch/mips/ddb5xxx/common/ddb5xxx.o \
		   arch/mips/ddb5xxx/ddb5476/ddb5476.o
LOADADDR	:= 0x80080000
endif

#
# NEC DDB Vrc-5477
#
ifdef CONFIG_DDB5477
SUBDIRS		+= arch/mips/ddb5xxx/common arch/mips/ddb5xxx/ddb5477
LIBS		+= arch/mips/ddb5xxx/common/ddb5xxx.o \
		   arch/mips/ddb5xxx/ddb5477/ddb5477.o
LOADADDR	:= 0x80100000
endif

ifdef CONFIG_LASAT
LIBS          += arch/mips/lasat/lasatkern.o
SUBDIRS       += arch/mips/lasat
LOADADDR      += 0x80000000
endif
#
# NEC Osprey (vr4181) board
#
ifdef CONFIG_NEC_OSPREY
SUBDIRS		+= arch/mips/vr4181/common arch/mips/vr4181/osprey
LIBS		+= arch/mips/vr4181/common/vr4181.o \
		   arch/mips/vr4181/osprey/osprey.o
LOADADDR	:= 0x80002000
endif

#
# NEC Eagle/Hawk (VR4122/VR4131) board
#
ifdef CONFIG_NEC_EAGLE
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/nec-eagle
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/nec-eagle/eagle.o
LOADADDR	:= 0x80000000
endif

#
# ZAO Networks Capcella (VR4131)
#
ifdef CONFIG_ZAO_CAPCELLA
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/zao-capcella
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/zao-capcella/capcella.o
LOADADDR	:= 0x80000000
endif

#
# Victor MP-C303/304 (VR4122)
#
ifdef CONFIG_VICTOR_MPC30X
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/victor-mpc30x
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/victor-mpc30x/mpc30x.o
LOADADDR	:= 0x80001000
endif

#
# IBM WorkPad z50 (VR4121)
#
ifdef CONFIG_IBM_WORKPAD
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/ibm-workpad
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/ibm-workpad/workpad.o
LOADADDR	+= 0x80004000
endif

#
# CASIO CASSIPEIA E-55/65 (VR4111)
#
ifdef CONFIG_CASIO_E55
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/casio-e55
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/casio-e55/e55.o
LOADADDR	+= 0x80004000
endif

#
# TANBAC TB0226 Mbase (VR4131)
#
ifdef CONFIG_TANBAC_TB0226
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/tanbac-tb0226
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/tanbac-tb0226/tb0226.o
LOADADDR	:= 0x80000000
endif

#
# TANBAC TB0229 (VR4131DIMM)
#
ifdef CONFIG_TANBAC_TB0229
SUBDIRS		+= arch/mips/vr41xx/common \
		   arch/mips/vr41xx/tanbac-tb0229
CORE_FILES	+= arch/mips/vr41xx/common/vr41xx.o \
		   arch/mips/vr41xx/tanbac-tb0229/tb0229.o
LOADADDR	:= 0x80000000
endif

#
# Philips Nino
#
ifdef CONFIG_NINO
CORE_FILES	+= arch/mips/philips/nino/nino.o
SUBDIRS		+= arch/mips/philips/nino
LOADADDR	:= 0x80000000
endif

#
# SGI IP22 (Indy/Indigo2)
#
ifdef CONFIG_SGI_IP22
CORE_FILES	+= arch/mips/sgi-ip22/ip22-kern.o
LIBS		+= arch/mips/arc/arclib.a
SUBDIRS		+= arch/mips/sgi-ip22 arch/mips/arc
#
# Set LOADADDR to >= 0x88069000 if you want to leave space for symmon,
# 0x88002000 for production kernels.  Note that the value must be
# 8kb aligned or the handling of the current variable will break.
#
LOADADDR	:= 0x88002000
endif

#
# Sibyte SB1250 SOC and Broadcom (SiByte) BCM112x SOCs
#
ifneq ($(CONFIG_SIBYTE_SB1250)$(CONFIG_SIBYTE_BCM112X),)
# This is a LIB so that it links at the end, and initcalls are later
# the sequence; but it is built as an object so that modules don't get
# removed (as happens, even if they have __initcall/module_init)
LIBS		+= arch/mips/sibyte/sb1250/sb1250.o
SUBDIRS		+= arch/mips/sibyte/sb1250
LOADADDR	:= 0x80100000
endif

#
# Sibyte boards:
#
# BCM91250A (SWARM),
# BCM91250E (Sentosa),
# BCM91120C (CRhine),
# BCM91120x (Carmel),
# BCM91125C (CRhone),
# BCM91125E (Rhone).
#
ifdef CONFIG_SIBYTE_BOARD
LIBS		+= arch/mips/sibyte/swarm/sbswarm.a
SUBDIRS		+= arch/mips/sibyte/swarm
endif

#
# Sibyte CFE firmware
#
ifdef CONFIG_SIBYTE_CFE
LIBS		+= arch/mips/sibyte/cfe/cfe.a
SUBDIRS		+= arch/mips/sibyte/cfe
endif

#
# SNI RM200 PCI
#
ifdef CONFIG_SNI_RM200_PCI
CORE_FILES	+= arch/mips/sni/sni.o
SUBDIRS		+= arch/mips/sni arch/mips/arc
LIBS		+= arch/mips/arc/arclib.a
LOADADDR	:= 0x80080000
endif

#
# Toshiba JMR-TX3927 board
#
ifdef CONFIG_TOSHIBA_JMR3927
CORE_FILES	+= arch/mips/jmr3927/rbhma3100/jmr3927.o \
		   arch/mips/jmr3927/common/tx3927.o
SUBDIRS		+= arch/mips/jmr3927/rbhma3100 arch/mips/jmr3927/common
LOADADDR	:= 0x80050000
endif

#
# Toshiba RBTX4927 board or
# Toshiba RBTX4937 board
#
ifdef CONFIG_TOSHIBA_RBTX4927
MIPS           = arch/mips
CEC            = tx4927
COMMON         = $(MIPS)/$(CEC)/common
BOARD          = $(MIPS)/$(CEC)/toshiba_rbtx4927
LIBS          += $(BOARD)/toshiba_rbtx4927.o $(COMMON)/tx4927.o
SUBDIRS       += $(BOARD)                    $(COMMON)
LOADADDR      += 0x80020000
endif

#
# Choosing incompatible machines durings configuration will result in
# error messages during linking.  Select a default linkscript if
# none has been choosen above.
#
vmlinux: arch/$(ARCH)/ld.script

arch/$(ARCH)/ld.script: arch/$(ARCH)/ld.script.in arch/$(ARCH)/Makefile
	sed -e 's/@@LOADADDR@@/$(LOADADDR)/' <$< >$@
LINKFLAGS	+= -T arch/$(ARCH)/ld.script

HEAD := arch/mips/kernel/head.o arch/mips/kernel/init_task.o

SUBDIRS := $(addprefix arch/mips/, tools) $(SUBDIRS) $(addprefix arch/mips/, kernel mm lib)
CORE_FILES := arch/mips/kernel/kernel.o arch/mips/mm/mm.o $(CORE_FILES)
LIBS := arch/mips/lib/lib.a $(LIBS)

ifdef CONFIG_BAGET_MIPS

BAGETBOOT = $(MAKE) -C arch/$(ARCH)/baget

balo: vmlinux
	$(BAGETBOOT) balo

endif

ifdef CONFIG_MIPS_EV64120
gboot: vmlinux
	$(MAKE) -C arch/$(ARCH)/galileo-boards/ev64120/compressed
endif

ifdef CONFIG_LASAT
rom.bin rom.sw: vmlinux
	$(MAKE) -C arch/$(ARCH)/lasat/image $@
endif

boot: mips-boot

mips-boot: vmlinux
	@$(MAKEBOOT) boot

vmlinux.ecoff: vmlinux
	@$(MAKEBOOT) $@

vmlinux.srec: vmlinux
	@$(MAKEBOOT) $@

archclean:
	@$(MAKEBOOT) clean
	rm -f arch/$(ARCH)/ld.script
	$(MAKE) -C arch/$(ARCH)/tools clean
	$(MAKE) -C arch/mips/baget clean
	$(MAKE) -C arch/mips/lasat clean

archmrproper:
	@$(MAKEBOOT) mrproper
	$(RM) $(TOPDIR)/include/asm-$(ARCH)/offset.h
	$(MAKE) -C arch/$(ARCH)/tools mrproper

archdep:
	if [ ! -f $(TOPDIR)/include/asm-$(ARCH)/offset.h ]; then \
		touch $(TOPDIR)/include/asm-$(ARCH)/offset.h; \
	fi;
	@$(MAKEBOOT) dep
