# Makefile fragment for building GCC for the TI MSP430 target.
# Copyright (C) 2012-2019 Free Software Foundation, Inc.
# Contributed by Red Hat.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published
# by the Free Software Foundation; either version 3, or (at your
# option) any later version.
#
# GCC is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.   See
# the GNU General Public License for more details.
#
# You should have received a copy of the  GNU General Public
# License along with GCC; see the file COPYING3.  If not see
# <http://www.gnu.org/licenses/>.

driver-msp430.o: $(srcdir)/config/msp430/driver-msp430.c \
  $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<

msp430-devices.o: $(srcdir)/config/msp430/msp430-devices.c \
	$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<

# Enable multilibs:

MULTILIB_OPTIONS    = mcpu=msp430 mlarge  mdata-region=none
MULTILIB_DIRNAMES   = 430	   large  full-memory-range

# Match -mcpu=430
MULTILIB_MATCHES    = mcpu?msp430=mcpu?430
# These options are equivalent in terms of the multilib required for them
MULTILIB_MATCHES   += mdata-region?none=mdata-region?upper
MULTILIB_MATCHES   += mdata-region?none=mdata-region?either

# The correct multilib for a given mmcu is selected without the need for
# hard-coded data here, because DRIVER_SELF_SPECS will place the correct
# -mcpu option for a given mcu onto the command line.

MULTILIB_REQUIRED = mcpu=msp430
MULTILIB_REQUIRED += mlarge
MULTILIB_REQUIRED += mlarge/mdata-region=none


MULTILIB_EXTRA_OPTS =

msp430-c.o: $(srcdir)/config/msp430/msp430-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
