annotate Makefile @ 525:11dd6eab15c8 multiprobeLSH

_LSH_DEBUG_ option now reports correct point counts per hashtable read.
author mas01mc
date Wed, 28 Jan 2009 17:18:58 +0000
parents 469b50a3dd84
children cbd5841e6b70
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@525 20 override CFLAGS+=-O3 -g -fPIC
mas01mc@513 21
mas01mc@513 22 # set to DUMP hashtables on QUERY load
mas01mc@513 23 #override CFLAGS+=-DLSH_DUMP_CORE_TABLES
mas01cr@244 24
mas01mc@525 25 # set to turn on debugging information for LSH hashtables
mas01mc@525 26 #override CFLAGS+=-D_LSH_DEBUG_
mas01mc@525 27
mas01mc@522 28 # set to increase multiple probes in LSH QUERY (allowable range = 1 ... lsh_k*2)
mas01mc@522 29 #override CFLAGS+=-DLSH_MULTI_PROBE_COUNT=10
mas01mc@522 30
mas01mc@525 31
mas01mc@525 32
mas01cr@239 33 ifeq ($(shell uname),Linux)
mas01cr@239 34 override CFLAGS+=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
mas01cr@239 35 endif
mas01cr@137 36
mas01cr@244 37 ifeq ($(shell uname),Darwin)
mas01cr@244 38 ifeq ($(shell sysctl -n hw.optional.x86_64),1)
mas01mc@315 39 override CFLAGS+=-arch x86_64
mas01cr@244 40 endif
map01bf@374 41 override SHARED_LIB_FLAGS=-dynamiclib -current_version $(SOVERSION).$(MINORVERSION) -Wl -install_name
map01bf@374 42 override LIBRARY=lib$(EXECUTABLE).$(SOVERSION).$(MINORVERSION).dylib
mas01cr@244 43 endif
mas01cr@244 44
mas01cr@72 45 .PHONY: all clean test
mas01cr@72 46
mas01cr@371 47 all: $(LIBRARY) $(EXECUTABLE)
mas01cr@2 48
mas01ik@355 49 $(EXECUTABLE).1: $(EXECUTABLE)
mas01ik@355 50 $(HELP2MAN) ./$(EXECUTABLE) > $(EXECUTABLE).1
mas01cr@0 51
mas01ik@355 52 HELP.txt: $(EXECUTABLE)
mas01ik@355 53 ./$(EXECUTABLE) --help > HELP.txt
mas01cr@3 54
mas01cr@1 55 cmdline.c cmdline.h: gengetopt.in
mas01ik@355 56 $(GENGETOPT) -e <gengetopt.in
mas01cr@1 57
mas01cr@506 58 soapServer.cpp soapClient.cpp soapC.cpp soapH.h adb.nsmap: audioDBws.h
mas01ik@355 59 $(SOAPCPP2) audioDBws.h
mas01cr@1 60
mas01cr@509 61 $(LIBOBJS): %.o: %.cpp audioDB_API.h audioDB-internals.h accumulator.h accumulators.h
mas01cr@503 62 g++ -c $(CFLAGS) $(GSL_INCLUDE) -Wall $<
mas01cr@503 63
mas01cr@498 64 %.o: %.cpp audioDB.h audioDB_API.h adb.nsmap cmdline.h reporter.h ReporterBase.h lshlib.h
mas01ik@355 65 g++ -c $(CFLAGS) $(GSOAP_INCLUDE) $(GSL_INCLUDE) -Wall $<
mas01cr@239 66
mas01cr@345 67 cmdline.o: cmdline.c cmdline.h
mas01ik@355 68 gcc -c $(CFLAGS) $<
mas01cr@345 69
mas01cr@371 70 $(EXECUTABLE): $(OBJS) soapServer.cpp soapClient.cpp soapC.cpp
mas01cr@371 71 g++ -o $(EXECUTABLE) $(CFLAGS) $^ $(LIBGSL) $(GSOAP_INCLUDE) $(GSOAP_CPP)
mas01ik@355 72
mas01cr@498 73 $(LIBRARY): $(LIBOBJS)
map01bf@374 74 g++ $(SHARED_LIB_FLAGS)$(LIBRARY) -o $(LIBRARY) $(CFLAGS) $(LIBGSL) $^
mas01ik@355 75
mas01ik@355 76 tags:
mas01ik@355 77 ctags *.cpp *.h
mas01ik@355 78
mas01cr@2 79
mas01cr@2 80 clean:
mas01mc@475 81 -rm cmdline.c cmdline.h cmdline.o
mas01cr@2 82 -rm soapServer.cpp soapClient.cpp soapC.cpp soapObject.h soapStub.h soapProxy.h soapH.h soapServerLib.cpp soapClientLib.cpp
mas01ik@355 83 -rm adb.*
mas01cr@135 84 -rm HELP.txt
mas01ik@355 85 -rm $(EXECUTABLE) $(EXECUTABLE).1 $(OBJS)
mas01cr@281 86 -rm xthresh
mas01cr@59 87 -sh -c "cd tests && sh ./clean.sh"
mas01ik@355 88 -sh -c "cd libtests && sh ./clean.sh"
mas01cr@498 89 -rm $(LIBRARY)
mas01ik@355 90 -rm tags
mas01cr@72 91
mas01cr@372 92 distclean: clean
mas01ik@355 93 -rm *.o
mas01ik@355 94 -rm -rf audioDB.dump
mas01ik@355 95
mas01ik@355 96
mas01ik@355 97 test: $(EXECUTABLE)
mas01cr@509 98 sh -c "cd libtests && sh ./run-tests.sh"
mas01cr@509 99 sh -c "cd tests && sh ./run-tests.sh"
mas01cr@280 100
mas01cr@280 101 xthresh: xthresh.c
mas01ik@355 102 gcc -o $@ $(CFLAGS) $(GSL_INCLUDE) $(LIBGSL) $<
mas01ik@355 103
mas01ik@355 104 install:
mas01ik@355 105 cp $(LIBRARY) /usr/local/lib/
mas01cr@373 106 ln -sf /usr/local/lib/$(LIBRARY) /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION)
mas01cr@373 107 ln -sf /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION) /usr/local/lib/lib$(EXECUTABLE).so
mas01ik@355 108 ldconfig
mas01ik@355 109 cp audioDB_API.h /usr/local/include/