CudaSources := $(wildcard *.cu)
CudaObjects := $(patsubst %.cu,%.o,$(CudaSources))
Targets := $(patsubst %.cu,%,$(CudaSources))
STD := -std=c++14
CPPFLAGS := $(STD) -I/home/numerik/pub/pp/ss19/lib
NVCCFLAGS :=
NVCC := nvcc
CXX := $(NVCC)
CC := $(NVCC)
CXXFLAGS := $(shell pkg-config --cflags gdk-pixbuf-2.0 | sed 's/-pthread //')
LDLIBS := $(shell pkg-config --libs gdk-pixbuf-2.0 | sed 's/-pthread //; s/-Wl/-Xlinker /g')

.PHONY:	all
all:	$(Targets)

$(CudaObjects):	%.o: %.cu
		$(NVCC) -c $(CPPFLAGS) $(CXXFLAGS) $(NVCCFLAGS) $<

$(Targets): %: %.o
		$(NVCC) -w -o $@ $(STD) $(NVCCFLAGS) $< $(LDLIBS)

GCCSources := $(patsubst %,-x c++ %,$(CudaSources))
.PHONY: depend
depend:
		gcc-makedepend $(CPPFLAGS) -D__CUDACC__ $(GCCSources)

.PHONY:	clean
clean:
		rm -f $(Targets) $(CudaObjects)
# DO NOT DELETE
jacobi1-colmaj.o: jacobi1-colmaj.cu \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/hsvcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/rgbcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/hostdev.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/check.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/copy.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/cache-line.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/storage/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/tools/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/properties.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/for-all-indices.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/matrix2pixbuf.hpp
jacobi0.o: jacobi0.cu /home/numerik/pub/pp/ss19/lib/hpc/aux/hsvcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/rgbcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/hostdev.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/check.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/copy.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/cache-line.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/storage/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/tools/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/properties.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/for-all-indices.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/matrix2pixbuf.hpp
jacobi1-rowmaj.o: jacobi1-rowmaj.cu \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/hsvcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/rgbcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/hostdev.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/check.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/copy.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/cache-line.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/storage/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/tools/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/properties.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/for-all-indices.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/matrix2pixbuf.hpp
jacobi3.o: jacobi3.cu /home/numerik/pub/pp/ss19/lib/hpc/aux/hsvcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/rgbcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/hostdev.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/check.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/copy.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/cache-line.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/storage/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/tools/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/properties.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/matrix2pixbuf.hpp
jacobi2.o: jacobi2.cu /home/numerik/pub/pp/ss19/lib/hpc/aux/hsvcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/rgbcolor.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/hostdev.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/check.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/copy.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/aux/cache-line.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/traits.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/views.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/storage/mixin.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/tools/buffer.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/gematrix.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/densevector.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/cuda/properties.hpp \
 /home/numerik/pub/pp/ss19/lib/hpc/matvec/matrix2pixbuf.hpp
