###############################################################################
# FILE: Makefile.config
#
# Configure the ASR build.  Works in conjunction with Makefile.defs and
# system-wide makefiles
###############################################################################

ASR_HOST_OS	      = UNIX
ASR_OS            = UNIX
ASR_TARGET_OS     = UNIX

ASR_HOST_CPU      = I86

ifeq ($(TARGET_ARCH),arm)
  ASR_CPU         = ARM
  ASR_TARGET_CPU  = ARM
endif
ifeq ($(TARGET_ARCH),x86)
  ASR_CPU         = I86
  ASR_TARGET_CPU  = I86
endif
ifeq ($(TARGET_ARCH),sh)
  ASR_CPU         = SH4
  ASR_TARGET_CPU  = SH4
endif
ifeq ($(TARGET_ARCH),mips)
  ASR_CPU         = MIPS
  ASR_TARGET_CPU  = MIPS
endif
ifeq ($(ASR_TARGET_CPU),)
  $(error Unsupported TARGET_ARCH for ASR)
endif

ASR_COMPILER      = GNU

ifeq ($(TARGET_BUILD_TYPE),debug)
  ASR_BUILD       = DEBUG
else
ifeq ($(TARGET_BUILD_TYPE),release)
  ASR_BUILD       = SHIP
else
  $(error Unsupported TARGET_BUILD_TYPE for ASR)
endif
endif
