# WRX board
#

export CONFIG_MAC_RPC ?= n
export CONFIG_SWITCH_RPC ?= n

# Kernel tree and toolchain
BOARD_DIR       ?= $(TOP_DIR)/../boards/cur/$(BOARD)
KERNEL_BRCM_VER = 3.0.2-m1.01
TOOLCHAIN_PATH  ?= /opt/toolchains/maple/toolchains_bin/mipscross/linux/bin
CROSS_COMPILE   = $(TOOLCHAIN_PATH)/mips64-nlm-linux-
CROSS_LIB_PATH  = $(TOOLCHAIN_PATH)/../mips64-nlm-linux/lib64
CONFIGURE_TARGET  = mips64-nlm-linux
export TOOLCHAIN_PATH
export CROSS_COMPILE
export CONFIGURE_TARGET

# In the moment we don't plan to build any kernel modules
# if/when we do set OD_KERNEL=linux
export OS_KERNEL= posix

# OS for user space 
OS              = posix

# The following group is only needed if we decide that do need linux kernel modules
# In this case OS_KERNEL above must be set =linux and a few additions are needed in the source tree   
KERNELDIR       = $(BOARD_DIR)/linux/$(KERNEL_BRCM_VER)/linux
KERNEL_OUTDIR  ?= $(KERNELDIR)
export KERNELDIR
export KERNEL_OUTDIR
KERNEL_ARCH     = mips
ARCH_FLAGS      += -EB -mabi=64
LD_ARCH_FLAGS += -melf64btsmip
HOST_BIG_ENDIAN ?= y

export KERNEL_ARCH
export ARCH_FLAGS

export KERNEL_TAR_NAME  = wrx_linux-sdk.tar.bz2
export LIBS_TAR_NAME    = libraries.tar.bz2


ifeq ("$(SUBSYSTEM)", "core")
	# Core-specific stuff
endif	

ifeq ("$(SUBSYSTEM)", "apps")
    # Apps-specific stuff
endif
