# CUDA makefile

CUDAHOME    = /Projects/vmd/cuda/sdk
CUDACC      = nvcc
CUDAINCS    = -I. -I$(CUDAHOME)/common/inc -DUNIX
CUDACCFLAGS = -O3 -Xcompiler "-m32" $(CUDAINCS)

CXX         = g++
CXXFLAGS    = -m32 -O3
CXXLFLAGS   = -L$(CUDAHOME)/lib -lGL -lGLU -lcuda -lcudart -lcutil

CUDAOBJS = cudensity.o
OBJS     = util.o
BINS     = cudensity

all: $(BINS)

.c.o:
	$(CXX) $(CXXFLAGS) -c $<

ptx: cudensity.cu
	$(CUDACC) $(CUDACCFLAGS) -ptx cudensity.cu

cubin: cudensity.cu
	$(CUDACC) $(CUDACCFLAGS) -cubin cudensity.cu

cudensity.o : cudensity.cu
	$(CUDACC) $(CUDACCFLAGS) -c $<

cudensity: $(CUDAOBJS) $(OBJS)
	$(CXX) $(CXXFLAGS) $(CUDAOBJS) $(OBJS) -o $@ $(CXXLFLAGS)

clean:	
	rm -f $(CUDAOBJS) $(OBJS) $(BINS)

