1 CUDASDK = /usr/local/cuda
6 LIBRARY_PATH = $(CUDASDK)/lib:$(CUDASDK)/lib64
8 NUM_CPUS := $(shell getconf _NPROCESSORS_ONLN)
9 ARCH ?= $(shell uname -m)
11 GMAKE_OPTS = -p -R -j$(NUM_CPUS)
15 VERSION = $(MAJOR).$(MINOR)
16 CUDA_ADA = libcudaada-$(VERSION)
17 TARBALL = $(CUDA_ADA).tar.bz2
22 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake -p -Pcuda_examples -XARCH=$(ARCH)
25 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_tests.gpr \
29 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/test_runner
35 @rm -f $(COVDIR)/*.gcda
36 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_tests.gpr \
38 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(COVDIR)/test_runner || true
39 @lcov -c -d $(COVDIR) -o $(COVDIR)/cov.info
40 @lcov -e $(COVDIR)/cov.info "$(PWD)/src/*.adb" -o $(COVDIR)/cov.info
41 @genhtml --no-branch-coverage $(COVDIR)/cov.info -o $(COVDIR)
43 perf: $(OBJDIR)/perf_c $(OBJDIR)/perf_c_drv
44 @LIBRARY_PATH=$(LIBRARY_PATH) gnatmake $(GMAKE_OPTS) -Pcuda_perf.gpr \
46 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_cudaada $(COUNT)
47 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_c $(COUNT)
48 @LD_LIBRARY_PATH=$(LIBRARY_PATH) $(OBJDIR)/perf_c_drv $(COUNT)
50 $(OBJDIR)/perf_c: $(PERFDIR)/perf_c.cu
52 LIBRARY_PATH=$(LIBRARY_PATH) $(CUDASDK)/bin/nvcc $< -o $@
54 $(OBJDIR)/perf_c_drv: $(PERFDIR)/perf_c_drv.c
56 LIBRARY_PATH=$(LIBRARY_PATH) $(CC) $< -o $@ -I$(CUDASDK)/include -lcuda
64 @echo "Creating release tarball $(TARBALL) ... "
65 @git archive --format=tar HEAD --prefix $(CUDA_ADA)/ | bzip2 > $(TARBALL)
67 .PHONY: all build_tests build_examples clean dist doc perf tests