CC=g++

CFLAGS =  -O3 -DADD_ -DCUBLAS_GFORTRAN -fopenmp -m64 -DHAVE_CUBLAS -DGPUSHMEM=200
CFLAGS += -I/exports/applications/apps/cuda/rhel5/4.2/cuda/include
CFLAGS += -I/exports/applications/apps/SL5/intel/mkl/10.2.3.029/include 
CFLAGS += -I /exports/home/lcebaman/magma/magma-1.3.0/include
CFLAGS += -I/exports/home/lcebaman/magma/magma-1.3.0/testing
CFLAGS += -I/exports/home/lcebaman/magma/magma-1.3.0/control

LIB = /exports/home/lcebaman/magma/magma-1.3.0/testing/libtest.a
LIB +=/exports/home/lcebaman/magma/magma-1.3.0/testing/lin/liblapacktest.a
LIB +=

SRC = main.cpp calcMKL.cpp 
RMC = calcMAGMA.cc genRandomMatrix.cc

OBJ = $(SRC:.cpp=.o)
OBJ += $(RMC:.cc=.o)

.cpp.o : 
	$(CC) $(CFLAGS) -c $*.cpp

.cc.o : 
	$(CC) $(CFLAGS) -c $*.cc

.SUFFIXES : .cpp .cc .c .cu .cxx .o $(SUFFIXES)

benchmark_gpu: $(OBJ) 	
	$(CC) -fPIC -Xlinker -zmuldefs -DGPUSHMEM=200 -o benchmark_cpu $(OBJ) \
	$(LIB) -L/exports/home/lcebaman/magma/magma-1.3.0/lib -lmagma -lmagmablas -lmagma \
	-L/exports/applications/apps/SL5/intel/mkl/10.2.3.029/lib/em64t \
	-L/exports/home/lcebaman/magma/magma-1.3.0/testing \
	-L/exports/applications/apps/cuda/rhel5/4.2/cuda/lib64 \
	-lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -ldl -lpthread -lcublas -lcudart -lm -fopenmp

clean:
	rm *.o *~ 
