#***********************************************************************
#
# Licensed Materials - Property of IBM
#
# (C) Copyright IBM Corp. 2010
# All Rights Reserved
#
# US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
#***********************************************************************

CC	= gcc
BITS 	= -m32
CPPFLAGS	= -I. -Wall
CFLAGS		= -g -O3 ${BITS} -Wall -I../../clu -I../../common
CXXFLAGS	= -g -O3 ${BITS} -Wall -I../../clu -I../../common -fno-strict-aliasing
LDFLAGS	= -lOpenCL  ${BITS}

vpath	%.c	../src ../../clu ../../common
vpath	%.cpp	../src ../../clu ../../common
vpath	%.h	../src ../../clu ../../common

OBJS	= spmv.o clock.o clu.o
KERNELS = spmv.cl

DEPS    = $(OBJS:.o=.d)

%.d: %.cpp
	@$(CC) -M $(CFLAGS) $< | sed 's/$*.o/& $@/g' > $@

.PHONY: all
all:  spmv $(KERNELS)

spmv: $(OBJS)
	$(CC) -o $@ $(OBJS) $(LDFLAGS)

spmv.cl:
	ln -s -f ../src/$@

-include $(DEPS)

.PHONY: clean
clean:
	@rm -f spmv *.ocl_bin $(OBJS) $(KERNELS) $(DEPS)
