#
# (C) COPYRIGHT 2012 ARM Limited. All rights reserved.
#
# This program is free software and is provided to you under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation, and any use by you of this program is subject to the terms of such GNU licence.
#
# A copy of the licence is included with the program, and can also be obtained from Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
#
#

ifeq ($(CONFIG_MALI_TMIX),y)
	ifeq ($(CONFIG_MALI_TMIX_R0P0),y)
		obj-y += tMIx/r0p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R2P0),y)
		obj-y += tMIx/r2p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R3P0),y)
		obj-y += tMIx/r3p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R8P0),y)
		obj-y += tMIx/r8p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R9P0),y)
		obj-y += tMIx/r9p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R10P0),y)
		obj-y += tMIx/r10p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R16P0),y)
		obj-y += tMIx/b_r16p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R19P0),y)
		obj-y += b_r19p0/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R25P1),y)
		obj-y += b_r25p1/
	endif
	ifeq ($(CONFIG_MALI_TMIX_R26P0),y)
		obj-y += b_r26p0/
	endif
endif
