CC=gcc

CUDA_HOME=/usr/local/cuda
CUDAROOT=/usr/local/cuda
CUDASDKROOT=/opt/NVIDIA_GPU_Computing_SDK
CUDANVIDIA=/usr/lib/nvidia
NVCC=$(CUDA_HOME)/bin/nvcc

NVCFLAGS=-I$(CUDASDKROOT)/C/common/inc -I$(CUDA_HOME)/include -I/usr/local/cuda/samples/common/inc
CFLAGS=-L$(CUDASDKROOT)/C/lib -L$(CUDANVIDIA)

MPI_CFLAGS=-I/usr/include/mpich-x86_64/
MPI_LDFLAGS=-lmpich -L/usr/lib64/mpich/lib/

all: stencil_cuda stencil_mpi_cuda

stencil_cuda: stencil_cuda.o
	$(NVCC) $(CFLAGS) -v  -o $@ $^

stencil_mpi_cuda: stencil_mpi_cuda.o
	$(NVCC) $(CFLAGS) -v  -o $@ $^ $(MPI_LDFLAGS)

%.o: %.cu
	$(NVCC) $(NVCFLAGS) -v -c -o $@ $< $(MPI_CFLAGS)

clean:
	rm -f *.o *.linkinfo stencil_cuda
