1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
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
|