#
# Copyright 2011-2012 Freescale Semiconductor, Inc.
#
# SPDX-License-Identifier:	GPL-2.0+
#

include $(TOPDIR)/config.mk

LIB    = $(obj)lib$(BOARD).o

MINIMAL=

ifdef CONFIG_SPL_BUILD
ifdef CONFIG_SPL_INIT_MINIMAL
MINIMAL=y
endif
endif

ifdef MINIMAL

COBJS-y	+= spl_minimal.o tlb.o law.o

else

COBJS-y        += $(BOARD).o
COBJS-y        += ddr.o
COBJS-y        += law.o
COBJS-y        += tlb.o
#COBJS-y		+= bsc9131rdb_mux.o

endif

SRCS   := $(SOBJS:.o=.S) $(COBJS-y:.o=.c)
OBJS   := $(addprefix $(obj),$(COBJS-y))
SOBJS  := $(addprefix $(obj),$(SOBJS))

$(LIB):		$(obj).depend $(OBJS) $(SOBJS)
	$(call cmd_link_o_target, $(OBJS))

clean:
	rm -f $(OBJS) $(SOBJS)

distclean:     clean
	rm -f $(LIB) core *.bak .depend

#########################################################################

# defines $(obj).depend target
include $(SRCTREE)/rules.mk

sinclude $(obj).depend

#########################################################################
