1SRCS = $(wildcard *.cc) 2TARGETS = $(patsubst %.cc,%,$(SRCS)) 3CHECKS = $(patsubst %,%.check,$(TARGETS)) 4CPPFLAGS = -I.. -D__STDC_FORMAT_MACROS 5CXXFLAGS = -g -Wall -Wextra -Wno-missing-field-initializers -Wshadow 6ifdef USE_OPENMP 7CPPFLAGS += -DUSE_OPENMP 8CXXFLAGS += -fopenmp 9endif 10 11FRACTALTREE_BASE_DIR = ../ft-index 12FRACTALTREE_INSTALL_DIR = $(FRACTALTREE_BASE_DIR)/install.debug 13VALGRIND = valgrind -q --leak-check=full --show-reachable=yes --suppressions=$(FRACTALTREE_BASE_DIR)/ft/valgrind.suppressions --soname-synonyms=somalloc=*tokuportability* 14 15ifeq ($(GCOV),1) 16CXXFLAGS += -fprofile-arcs -ftest-coverage 17else 18CXXFLAGS += -O3 19endif 20 21all: $(TARGETS) 22 23clean: 24 rm -rf $(TARGETS) *.gcov *.gcno *.gcda *.testdir *.dSYM 25 26%.check: % 27 LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./$< 28 29card.check: $(patsubst %.cc,%.check,$(wildcard card*.cc)) 30 true 31 32ifndef USE_OPENMP 33# unravel vlq_test_uint64 8 times 34vlq_test_uint64_%.check: 35 LD_LIBRARY_PATH=$(FRACTALTREE_INSTALL_DIR)/lib $(VALGRIND) ./vlq_test_uint64 $(patsubst vlq_test_uint64_%.check,%,$@) 8 36vlq_test_uint64.check: $(foreach i,0 1 2 3 4 5 6 7,vlq_test_uint64_$(i).check) 37 true 38endif 39 40vlq.check: $(patsubst %.cc,%.check,$(wildcard vlq*.cc)) 41 true 42 43max_test.check: max_test 44 $(VALGRIND) ./$< 1 2 45 46check: $(CHECKS) 47 true 48 49%: %.cc 50 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $< 51 52card_%: card_%.cc 53 $(CXX) $(CPPFLAGS) $(CXXFLAGS) -g -o $@ $< -I.. -I$(FRACTALTREE_INSTALL_DIR)/include -L$(FRACTALTREE_INSTALL_DIR)/lib -ltokufractaltree -ltokuportability 54