|
@@ -17,22 +17,28 @@
|
|
|
CFLAGS += $$(pkg-config --cflags libstarpu)
|
|
|
LDFLAGS += $$(pkg-config --libs libstarpu)
|
|
|
|
|
|
-HAS_CUDA = $(shell pkg-config --libs libstarpu|grep cuda)
|
|
|
+HAS_CUDA = $(shell pkg-config --libs libstarpu|grep -i cuda)
|
|
|
NVCC ?= nvcc
|
|
|
+HAS_OPENCL = $(shell pkg-config --libs libstarpu|grep -i opencl)
|
|
|
|
|
|
%.o: %.cu
|
|
|
nvcc $(CFLAGS) $< -c
|
|
|
|
|
|
all: hello_world vector_scal
|
|
|
|
|
|
-ifeq ($(strip $(HAS_CUDA)),)
|
|
|
-vector_scal: vector_scal.o vector_scal_cpu.o
|
|
|
+VECTOR_SCAL_PREREQUISITES = vector_scal.o vector_scal_cpu.o
|
|
|
+ifneq ($(strip $(HAS_CUDA)),)
|
|
|
+VECTOR_SCAL_PREREQUISITES += vector_scal_cuda.o
|
|
|
+VECTOR_SCAL_COMPILER = $(NVCC)
|
|
|
else
|
|
|
-vector_scal: vector_scal.o vector_scal_cpu.o vector_scal_cuda.o vector_scal_opencl.o
|
|
|
- $(NVCC) $(LDFLAGS) $^ -o $@
|
|
|
+VECTOR_SCAL_COMPILER = $(CC)
|
|
|
+endif
|
|
|
+ifneq ($(strip $(HAS_OPENCL)),)
|
|
|
+VECTOR_SCAL_PREREQUISITES += vector_scal_opencl.o
|
|
|
endif
|
|
|
|
|
|
-
|
|
|
+vector_scal: $(VECTOR_SCAL_PREREQUISITES)
|
|
|
+ $(VECTOR_SCAL_COMPILER) $(LDFLAGS) $^ -o $@
|
|
|
|
|
|
clean:
|
|
|
rm -f hello_world vector_scal *.o
|