Blame c++/contourgl/Makefile
|
Ivan Mahonin |
383633 |
# config
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# just comment following line to disable CUDA
|
|
Ivan Mahonin |
383633 |
CUDA = cuda-9.2
|
|
Ivan Mahonin |
383633 |
CUDA_PATH := /opt/$(CUDA)
|
|
Ivan Mahonin |
383633 |
CUDA_BIN := $(CUDA_PATH)/bin
|
|
Ivan Mahonin |
383633 |
CUDA_PKGCONFIG := $(CUDA_PATH)/pkgconfig
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
c76ce8 |
DEPLIBS = gl x11 OpenCL
|
|
Ivan Mahonin |
f2b8c4 |
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# compute build options
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
CXXFLAGS := $(CXXFLAGS) -O3 -Wall -fmessage-length=0 -DGL_GLEXT_PROTOTYPES
|
|
Ivan Mahonin |
383633 |
CXXFLAGS := $(CXXFLAGS) $(shell pkg-config --cflags $(DEPLIBS))
|
|
Ivan Mahonin |
383633 |
LIBS := $(LIBS) $(shell pkg-config --libs $(DEPLIBS))
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
ifdef CUDA
|
|
Ivan Mahonin |
a7622f |
CUDA_FLAGS := -O3 -use_fast_math
|
|
Ivan Mahonin |
383633 |
CXXFLAGS := $(CXXFLAGS) -DCUDA $(shell PKG_CONFIG_PATH=$(CUDA_PKGCONFIG) pkg-config --cflags $(CUDA))
|
|
Ivan Mahonin |
383633 |
LIBS := $(LIBS) $(shell PKG_CONFIG_PATH=$(CUDA_PKGCONFIG) pkg-config --libs $(CUDA))
|
|
Ivan Mahonin |
383633 |
endif
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# files lists
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
TARGET = contourgl
|
|
Ivan Mahonin |
49e693 |
|
|
Ivan Mahonin |
49e693 |
SOURCES = \
|
|
Ivan Mahonin |
49e693 |
contourgl.cpp \
|
|
Ivan Mahonin |
49e693 |
clcontext.cpp \
|
|
Ivan Mahonin |
572d9c |
clrender.cpp \
|
|
Ivan Mahonin |
49e693 |
contour.cpp \
|
|
Ivan Mahonin |
49e693 |
contourbuilder.cpp \
|
|
Ivan Mahonin |
49e693 |
environment.cpp \
|
|
Ivan Mahonin |
49e693 |
geometry.cpp \
|
|
Ivan Mahonin |
49e693 |
glcontext.cpp \
|
|
Ivan Mahonin |
49e693 |
measure.cpp \
|
|
Ivan Mahonin |
49e693 |
polyspan.cpp \
|
|
Ivan Mahonin |
49e693 |
shaders.cpp \
|
|
Ivan Mahonin |
572d9c |
swrender.cpp \
|
|
Ivan Mahonin |
49e693 |
test.cpp \
|
|
Ivan Mahonin |
49e693 |
triangulator.cpp \
|
|
Ivan Mahonin |
49e693 |
utils.cpp
|
|
Ivan Mahonin |
49e693 |
|
|
Ivan Mahonin |
383633 |
ifdef CUDA
|
|
Ivan Mahonin |
6fa009 |
SOURCES += \
|
|
Ivan Mahonin |
6fa009 |
cudacontext.cpp \
|
|
Ivan Mahonin |
6fa009 |
cudarender.cpp
|
|
Ivan Mahonin |
383633 |
CUDA_SOURCES = \
|
|
Ivan Mahonin |
383633 |
cuda/contour.cu \
|
|
Ivan Mahonin |
383633 |
cuda/hello.cu
|
|
Ivan Mahonin |
383633 |
endif
|
|
Ivan Mahonin |
f2b8c4 |
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# files lists postprocessing
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
OBJS = $(SOURCES:.cpp=.o)
|
|
Ivan Mahonin |
383633 |
DEPS = $(SOURCES:.cpp=.d)
|
|
Ivan Mahonin |
383633 |
PTXS = $(CUDA_SOURCES:.cu=.ptx)
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# internal targets
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
%.ptx: %.cu
|
|
Ivan Mahonin |
a7622f |
$(CUDA_PATH)/bin/nvcc $(CUDA_FLAGS) -ptx $< -o $@
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# rule for make *.d files with include (.h) dependencies
|
|
Ivan Mahonin |
383633 |
%.d: %.cpp
|
|
Ivan Mahonin |
383633 |
@set -e; rm -f $@; \
|
|
Ivan Mahonin |
383633 |
$(CXX) -MM $(CXXFLAGS) $< > $@.$$$$; \
|
|
Ivan Mahonin |
383633 |
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
Ivan Mahonin |
383633 |
rm -f $@.$$$$
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
$(TARGET): $(PTXS) $(DEPS) $(OBJS)
|
|
Ivan Mahonin |
f2b8c4 |
$(CXX) -o $(TARGET) $(OBJS) $(LIBS)
|
|
Ivan Mahonin |
f2b8c4 |
|
|
Ivan Mahonin |
383633 |
# include rules with include (.h) dependencies
|
|
Ivan Mahonin |
383633 |
-include $(DEPS)
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# actual targets
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
# declare that 'all', 'cuda' and 'clean' are cannot be a filenames
|
|
Ivan Mahonin |
383633 |
.PHONY: all clean
|
|
Ivan Mahonin |
383633 |
|
|
Ivan Mahonin |
383633 |
all: $(TARGET)
|
|
Ivan Mahonin |
f2b8c4 |
|
|
Ivan Mahonin |
f2b8c4 |
clean:
|
|
Ivan Mahonin |
383633 |
rm -f $(PTXS) $(OBJS) $(DEPS) $(TARGET)
|