annotate Makefile @ 539:06ed85832c3b multiprobeLSH

Optimized the query_loop_points inner loop for memcpy and I/O efficiency. Uses sparse seeks and reads to perform scattered reads across data set. Current version does not cache fid between open calls to the same trackID.
author mas01mc
date Sat, 07 Feb 2009 01:20:05 +0000
parents eb5dd50dd7d1
children 1731a6c457d7
rev   line source
mas01cr@137 1 HELP2MAN=help2man
mas01cr@137 2 GENGETOPT=gengetopt
mas01cr@137 3 SOAPCPP2=soapcpp2
mas01cr@138 4 GSOAP_CPP=-lgsoap++
mas01cr@281 5 LIBGSL=-lgsl -lgslcblas
map01bf@282 6 GSL_INCLUDE=
mas01cr@138 7 GSOAP_INCLUDE=
mas01cr@137 8
map01bf@374 9 SHARED_LIB_FLAGS=-shared -Wl,-soname,
map01bf@374 10
mas01mc@519 11 LIBOBJS=lock.o pointpair.o create.o open.o power.o l2norm.o insert.o status.o query.o dump.o close.o lshlib.o multiprobe.o index-utils.o query-indexed.o
mas01cr@509 12 OBJS=$(LIBOBJS) index.o soap.o liszt.o sample.o cmdline.o audioDB.o common.o
map01bf@374 13
map01bf@374 14 EXECUTABLE=audioDB
map01bf@374 15
map01bf@374 16 SOVERSION=0
map01bf@374 17 MINORVERSION=0
map01bf@374 18 LIBRARY=lib$(EXECUTABLE).so.$(SOVERSION).$(MINORVERSION)
map01bf@374 19
mas01mc@533 20 override CFLAGS+=-g -O3 -fPIC
mas01mc@533 21
mas01mc@533 22 # set to generate profile (gprof) and coverage (gcov) info
mas01mc@533 23 #override CFLAGS+=-fprofile-arcs -ftest-coverage -pg
mas01mc@513 24
mas01mc@513 25 # set to DUMP hashtables on QUERY load
mas01mc@513 26 #override CFLAGS+=-DLSH_DUMP_CORE_TABLES
mas01cr@244 27
mas01mc@525 28 # set to turn on debugging information for LSH hashtables
mas01mc@529 29 # override CFLAGS+=-D_LSH_DEBUG_
mas01mc@525 30
mas01mc@529 31 # set multiple probes in LSH QUERY (allowable range = 0 ... lsh_k*2) 0=multiprobe off
mas01mc@522 32 #override CFLAGS+=-DLSH_MULTI_PROBE_COUNT=10
mas01mc@522 33
mas01cr@239 34 ifeq ($(shell uname),Linux)
mas01cr@239 35 override CFLAGS+=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
mas01cr@239 36 endif
mas01cr@137 37
mas01cr@244 38 ifeq ($(shell uname),Darwin)
mas01cr@244 39 ifeq ($(shell sysctl -n hw.optional.x86_64),1)
mas01mc@315 40 override CFLAGS+=-arch x86_64
mas01cr@244 41 endif
map01bf@374 42 override SHARED_LIB_FLAGS=-dynamiclib -current_version $(SOVERSION).$(MINORVERSION) -Wl -install_name
map01bf@374 43 override LIBRARY=lib$(EXECUTABLE).$(SOVERSION).$(MINORVERSION).dylib
mas01cr@244 44 endif
mas01cr@244 45
mas01cr@72 46 .PHONY: all clean test
mas01cr@72 47
mas01cr@371 48 all: $(LIBRARY) $(EXECUTABLE)
mas01cr@2 49
mas01ik@355 50 $(EXECUTABLE).1: $(EXECUTABLE)
mas01ik@355 51 $(HELP2MAN) ./$(EXECUTABLE) > $(EXECUTABLE).1
mas01cr@0 52
mas01ik@355 53 HELP.txt: $(EXECUTABLE)
mas01ik@355 54 ./$(EXECUTABLE) --help > HELP.txt
mas01cr@3 55
mas01cr@1 56 cmdline.c cmdline.h: gengetopt.in
mas01ik@355 57 $(GENGETOPT) -e <gengetopt.in
mas01cr@1 58
mas01cr@506 59 soapServer.cpp soapClient.cpp soapC.cpp soapH.h adb.nsmap: audioDBws.h
mas01ik@355 60 $(SOAPCPP2) audioDBws.h
mas01cr@1 61
mas01cr@509 62 $(LIBOBJS): %.o: %.cpp audioDB_API.h audioDB-internals.h accumulator.h accumulators.h
mas01cr@503 63 g++ -c $(CFLAGS) $(GSL_INCLUDE) -Wall $<
mas01cr@503 64
mas01cr@498 65 %.o: %.cpp audioDB.h audioDB_API.h adb.nsmap cmdline.h reporter.h ReporterBase.h lshlib.h
mas01ik@355 66 g++ -c $(CFLAGS) $(GSOAP_INCLUDE) $(GSL_INCLUDE) -Wall $<
mas01cr@239 67
mas01cr@345 68 cmdline.o: cmdline.c cmdline.h
mas01ik@355 69 gcc -c $(CFLAGS) $<
mas01cr@345 70
mas01cr@371 71 $(EXECUTABLE): $(OBJS) soapServer.cpp soapClient.cpp soapC.cpp
mas01cr@371 72 g++ -o $(EXECUTABLE) $(CFLAGS) $^ $(LIBGSL) $(GSOAP_INCLUDE) $(GSOAP_CPP)
mas01ik@355 73
mas01cr@498 74 $(LIBRARY): $(LIBOBJS)
map01bf@374 75 g++ $(SHARED_LIB_FLAGS)$(LIBRARY) -o $(LIBRARY) $(CFLAGS) $(LIBGSL) $^
mas01ik@355 76
mas01ik@355 77 tags:
mas01ik@355 78 ctags *.cpp *.h
mas01ik@355 79
mas01cr@2 80
mas01cr@2 81 clean:
mas01mc@475 82 -rm cmdline.c cmdline.h cmdline.o
mas01cr@2 83 -rm soapServer.cpp soapClient.cpp soapC.cpp soapObject.h soapStub.h soapProxy.h soapH.h soapServerLib.cpp soapClientLib.cpp
mas01ik@355 84 -rm adb.*
mas01cr@135 85 -rm HELP.txt
mas01ik@355 86 -rm $(EXECUTABLE) $(EXECUTABLE).1 $(OBJS)
mas01cr@281 87 -rm xthresh
mas01cr@59 88 -sh -c "cd tests && sh ./clean.sh"
mas01ik@355 89 -sh -c "cd libtests && sh ./clean.sh"
mas01cr@498 90 -rm $(LIBRARY)
mas01ik@355 91 -rm tags
mas01cr@72 92
mas01cr@372 93 distclean: clean
mas01ik@355 94 -rm *.o
mas01ik@355 95 -rm -rf audioDB.dump
mas01ik@355 96
mas01ik@355 97
mas01ik@355 98 test: $(EXECUTABLE)
mas01cr@509 99 sh -c "cd libtests && sh ./run-tests.sh"
mas01cr@509 100 sh -c "cd tests && sh ./run-tests.sh"
mas01cr@280 101
mas01cr@280 102 xthresh: xthresh.c
mas01ik@355 103 gcc -o $@ $(CFLAGS) $(GSL_INCLUDE) $(LIBGSL) $<
mas01ik@355 104
mas01ik@355 105 install:
mas01ik@355 106 cp $(LIBRARY) /usr/local/lib/
mas01cr@373 107 ln -sf /usr/local/lib/$(LIBRARY) /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION)
mas01cr@373 108 ln -sf /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION) /usr/local/lib/lib$(EXECUTABLE).so
mas01ik@355 109 ldconfig
mas01ik@355 110 cp audioDB_API.h /usr/local/include/