#
# OpenCL examples makefile
#
# History: Written  by Tim mattson, August 2010
#          Modified by Simon McIntosh-Smith, May 2011
#

.SUFFIXES: .c .o

CC          = gcc
RM          = rm -f
#OPENCLFLAGS = -framework OpenCL # for Apple platforms
OPENCLFLAGS =
INCDIR      = /export/cuda/include
INCFLAGS    = -I $(INCDIR)
CCFLAGS     = -m64 -O3 $(INCFLAGS) 
#CCFLAGS     = -m64 -O3 $(INCFLAGS)  -DNO_SEQUENTIAL
LDFLAGS     = -l OpenCL

MMUL_OBJS     = mult_driver.o matrix_lib.o wtime.o device_info.o err_code.o \
                c_elem.o 
SEQ_MMUL_OBJS = seq_mult.o wtime.o
EXECS         = mmult seq_mmult

#
#  targets
#
all: $(EXECS)

mmult : $(MMUL_OBJS)
	$(CC) $(CCFLAGS) $(OPENCLFLAGS) $(LDFLAGS) -o mmult $(MMUL_OBJS) 

seq_mmult : $(SEQ_MMUL_OBJS)
	$(CC) $(CCFLAGS) -o seq_mmult $(SEQ_MMUL_OBJS) 

wtime.o: wtime.c
	$(CC) -c $(CCFLAGS) wtime.c

device_info.o: device_info.c
	$(CC) -c $(CCFLAGS) device_info.c

mult_driver.o: mult_driver.c
	$(CC) -c $(CCFLAGS) mult_driver.c

matrix_lib.o: matrix_lib.c
	$(CC) -c $(CCFLAGS) matrix_lib.c

c_elem.o: c_elem.c
	$(CC) -c $(CCFLAGS) c_elem.c

err_code.o: err_code.c
	$(CC) -c $(CCFLAGS) err_code.c

clean:
	$(RM) $(MMUL_OBJS) $(SEQ_MMUL_OBJS) $(EXECS) 
