1 CUDASDK = /usr/local/cuda
7 LIBRARY_PATH = $(CUDASDK)/lib:$(CUDASDK)/lib64
9 NUM_CPUS := $(shell getconf _NPROCESSORS_ONLN)
10 ARCH ?= $(shell uname -m)
12 GMAKE_OPTS = -p -R -j$(NUM_CPUS)
16 VERSION = $(MAJOR).$(MINOR)
17 CUDA_ADA = libcudaada-$(VERSION)
18 TARBALL = $(CUDA_ADA).tar.bz2
20 SO_LIBRARY = libcudaada.so.$(VERSION)
21 LIBRARY_KIND = dynamic
26 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake -p -Pcuda_lib \
27 -XARCH=$(ARCH) -XVERSION="$(VERSION)" -XLIBRARY_KIND="$(LIBRARY_KIND)"
30 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake -p -Pcuda_examples -XARCH=$(ARCH)
33 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_tests.gpr \
37 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/test_runner
43 @rm -f $(COVDIR)/*.gcda
44 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_tests.gpr \
46 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(COVDIR)/test_runner || true
47 @lcov -c -d $(COVDIR) -o $(COVDIR)/cov.info
48 @lcov -e $(COVDIR)/cov.info "$(PWD)/src/*.adb" -o $(COVDIR)/cov.info
49 @genhtml --no-branch-coverage $(COVDIR)/cov.info -o $(COVDIR)
51 perf: $(OBJDIR)/perf_c $(OBJDIR)/perf_c_drv
52 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_perf.gpr \
54 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_cudaada $(COUNT)
55 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_c $(COUNT)
56 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_c_drv $(COUNT)
58 $(OBJDIR)/perf_c: $(PERFDIR)/perf_c.cu
60 LIBRARY_PATH=$(LIBRARY_PATH) $(CUDASDK)/bin/nvcc $< -o $@
62 $(OBJDIR)/perf_c_drv: $(PERFDIR)/perf_c_drv.c
64 LIBRARY_PATH=$(LIBRARY_PATH) $(CC) $< -o $@ -I$(CUDASDK)/include -lcuda
73 @echo "Creating release tarball $(TARBALL) ... "
74 @git archive --format=tar HEAD --prefix $(CUDA_ADA)/ | bzip2 > $(TARBALL)
76 .PHONY: all build_examples build_lib build_tests clean dist doc perf tests