#
# (C) Copyright 2003-2006
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
#
# SPDX-License-Identifier:	GPL-2.0+
#

include $(TOPDIR)/config.mk
# ifneq ($(OBJTREE),$(SRCTREE))
# $(shell mkdir -p $(obj)../common/xilinx_jtag)
# endif

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

# Objects for Xilinx JTAG programming (CPLD)
# CPLD  = ../common/xilinx_jtag/lenval.o \
#	  ../common/xilinx_jtag/micro.o \
#	  ../common/xilinx_jtag/ports.o

# COBJS	= $(BOARD).o flash.o $(CPLD)
COBJS	= $(BOARD).o strataflash.o

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

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

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

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

sinclude $(obj).depend

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