GXX ?= g++ DOXYGEN ?= doxygen CXXFLAGS ?= -O3 -Wall -g -fmessage-length=80 CXX11 ?= 0 CXX14 ?= 1 CUDA_DIR ?= /usr/local/cuda CXXFLAGS += -pthread ifeq ($(CXX11),1) CXXFLAGS += -std=c++11 endif ifeq ($(CXX14),1) CXXFLAGS += -std=c++14 endif EMBED_BEGIN = -rdynamic -Wl,-b,binary, EMBED_END = ,-b,default UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) CXXFLAGS += -D LINUX CUDA_LIB_DIR = $(CUDA_DIR)/lib64 else ifeq ($(UNAME_S),Darwin) CUDA_LIB_DIR = $(CUDA_DIR)/lib endif INC += -I$(CUDA_DIR)/include LIB += -ldl -L$(CUDA_LIB_DIR) -lcuda -lcudart -lnvrtc HEADERS = jitify.hpp TEMPLATES := $(wildcard *.cutmp) JIT_TEMP := $(patsubst %.cutmp, %.cu.jit, $(TEMPLATES)) jitFactory: jitFactory.cpp $(HEADERS) $(JIT_TEMP) $(GXX) -o $@ $< $(CXXFLAGS) $(INC) $(LIB) %.cu: %.cutmp cp $? $@ %.cu.jit: %.cu ./stringify $? > $@ stringify: stringify.cpp $(GXX) -o $@ $< -O3 -Wall doc: jitify.hpp Doxyfile $(DOXYGEN) Doxyfile .PHONY: doc clean: rm -f stringify rm -f jitFactory .PHONY: clean