1IFLAGS = -Iincludes/ 2ARCH = -arch=sm_35 3#ARCH = -arch=sm_35 4#NVFLAGS = -O3 -std=c++11 -DNOHTIME -arch=sm_35 5#NVFLAGS = -O3 -std=c++11 $(IFLAGS) $(CFLAGS) -DNOHTIME -Xptxas --warn-on-spills -Xptxas -dlcm=ca $(ARCH) 6NVFLAGS = -O3 -Xcompiler -fPIC -std=c++11 $(IFLAGS) $(CFLAGS) -DNOHTIME -Xptxas --warn-on-spills $(ARCH) 7#NVFLAGS = -O3 -std=c++11 -DNOHTIME -Xptxas --warn-on-spills -Xptxas -dlcm=cg 8#NVFLAGS = -O3 -std=c++11 -DNOHTIME -Xptxas --warn-on-spills -Xptxas -dlcm=ca -arch=sm_35 9#NVFLAGS = -O3 -std=c++11 -DNOHTIME -Xptxas --warn-on-spills -Xptxas -flcm=ca -arch=sm_35 10 11HEADERS = kernels/fvigeneralolap.h 12SCR1 = fvimatchl32.cu fvimatchg32_blocking.cu \ 13 fvimatchg32.cu fvinomatchgeneral.cu fvigeneralolap.cu 14#SCR1 = matrixtranspose.cu fvimatchl32.cu fvimatchg32l120.cu fvinomatchalldiff.cu fvinomatchonerepeat.cu fvinomatchsisame.cu \ 15 fvimatchg32.cu fvimatchl32_factor.cu fvinomatchg32.cu fvinomatchrepdiff.cu fvigeneral.cu fvigeneralolap.cu 16 17SCR2 = test.cpp BlockingCase.cpp main.cpp Parameters.cpp ParameterTuner.cpp TransposeSpec.cpp model.c 18OBJS = $(SCR1:.cu=.o) $(SCR2:.cpp=.o) 19 20MAIN = ttlg 21MAIN_L = libttlg.so 22 23LIBS = -lgomp -lm 24all: $(MAIN) 25lib: $(MAIN_L) 26exe: $(MAIN) 27$(MAIN_L) : $(OBJS) 28 nvcc -shared $(NVFLAGS) $^ -o $(MAIN_L) $(LIBS) 29$(MAIN) : $(OBJS) 30 nvcc $(NVFLAGS) $^ -o $(MAIN) $(LIBS) 31 32%.o : %.cpp 33 nvcc $(NVFLAGS) -c $< -o $@ 34 35%.o : %.cu 36 nvcc $(NVFLAGS) -c $< -o $@ 37fvigeneralolap.cu : kernels/fvigeneralolap.h 38 39 40clean: 41 rm -f *.o $(MAIN) $(MAIN_L) 42 43