
CUDAINC   = "/Developer/GPU Computing/shared/inc"
CUDAINC2  = "/Developer/GPU Computing/C/common/inc"
CUDAROOT  = /usr/local/cuda
CUDALIB   = "/Developer/GPU Computing/CUDALibraries/common/lib"
ANN       = ../Geometry/tsANN
TRIANGLE  = ../Geometry/Triangle
CUBU	  = ../CUBu
CCFLAGS   = -I. -Iinclude -O3 -g -m64 -I/usr/local/cuda/include -I$(CUBU) -I$(ANN)/include -I$(TRIANGLE) -I$(CUDAINC2)
#--------------------------------------------------------------------------------------------------------------------------------

CXX  = g++
NVCC = $(CUDAROOT)/bin/nvcc
.SUFFIXES: .o .c .cpp .cu


OBJECTS = main.o grouping.o skelft.o vis.o skelft_core.o myrandom.o image.o pointcloud.o simplepointcloud.o io.o scalarimage.o fullmatrix.o gdrawingcloud.o menu.o vgrouping.o $(TRIANGLE)/triangle.o 

TARGET1  = projwiz
TARGET2  = concat

all: $(TARGET1) $(TARGET2)

$(TARGET1): $(OBJECTS)
	$(CXX) -o $(TARGET1) $(OBJECTS) $(CCFLAGS) -L$(ANN)/lib -lANN $(CUBU)/libcubu.a -framework OpenGL -framework GLUT -framework GLUI -L$(CUDALIB) -lcutil_x86_64  -L$(CUDAROOT)/lib -lcudart 

$(TARGET2): concat.o
	$(CXX) -o $(TARGET2) concat.o $(CCFLAGS) 

.cpp.o:
	$(CXX) -c $(CCFLAGS) -o $@ $<

.cu.o:
	$(NVCC) -c $(CCFLAGS) -I$(CUDAINC) -I$(CUDAINC2) -use_fast_math -gencode=arch=compute_12,code=\"sm_12,compute_12\" --ptxas-options=-v --maxrregcount 25 -o $@ $<

clean:
	-rm *.o $(TARGET1) $(TARGET2)

