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/
|