annotate Makefile @ 642:ec6860ff36ff

Latest audiodb ontology
author mas01mj
date Thu, 08 Oct 2009 16:42:50 +0000
parents 5240e74a0607
children 72810ed81817
rev   line source
mas01cr@137 1 HELP2MAN=help2man
mas01cr@137 2 GENGETOPT=gengetopt
mas01cr@137 3 SOAPCPP2=soapcpp2
mas01cr@613 4 GSOAP_INCLUDE=$(shell pkg-config --cflags gsoap++)
mas01cr@613 5 GSOAP_CPP=$(shell pkg-config --libs gsoap++)
mas01cr@613 6 GSL_INCLUDE=$(shell pkg-config --cflags gsl)
mas01cr@613 7 LIBGSL=$(shell pkg-config --libs gsl)
mas01cr@137 8
mas01cr@611 9 PREFIX=/usr/local
mas01cr@611 10 EXEC_PREFIX=$(PREFIX)
mas01cr@611 11 LIBDIR=$(EXEC_PREFIX)/lib
mas01cr@611 12 BINDIR=$(EXEC_PREFIX)/bin
mas01cr@611 13 INCLUDEDIR=$(PREFIX)/include
mas01cr@611 14 MANDIR=$(PREFIX)/share/man
map01bf@374 15
mas01cr@596 16 LIBOBJS=lock.o pointpair.o create.o open.o power.o l2norm.o insert.o status.o query.o dump.o close.o index-utils.o query-indexed.o liszt.o retrieve.o lshlib.o
mas01cr@548 17 OBJS=$(LIBOBJS) index.o soap.o sample.o cmdline.o audioDB.o common.o
map01bf@374 18
map01bf@374 19 EXECUTABLE=audioDB
map01bf@374 20
map01bf@374 21 SOVERSION=0
map01bf@374 22 MINORVERSION=0
map01bf@374 23 LIBRARY=lib$(EXECUTABLE).so.$(SOVERSION).$(MINORVERSION)
mas01cr@611 24 SHARED_LIB_FLAGS=-shared -Wl,-soname,lib$(EXECUTABLE).so.$(SOVERSION)
map01bf@374 25
mas01mc@534 26 override CFLAGS+=-g -O3 -fPIC
mas01mc@534 27
mas01mc@534 28 # set to generate profile (gprof) and coverage (gcov) info
mas01mc@534 29 #override CFLAGS+=-fprofile-arcs -ftest-coverage -pg
mas01mc@513 30
mas01mc@513 31 # set to DUMP hashtables on QUERY load
mas01mc@513 32 #override CFLAGS+=-DLSH_DUMP_CORE_TABLES
mas01cr@244 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 LIBRARY=lib$(EXECUTABLE).$(SOVERSION).$(MINORVERSION).dylib
mas01cr@611 43 override SHARED_LIB_FLAGS=-dynamiclib -current_version $(SOVERSION) -Wl -install_name $(LIBRARY)
mas01cr@244 44 endif
mas01cr@244 45
mas01cr@611 46 .PHONY: all clean test install $(EXECUTABLE).pc
mas01cr@72 47
mas01cr@611 48 all: $(LIBRARY) $(EXECUTABLE) $(EXECUTABLE).1
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@587 63 $(CXX) -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
mas01cr@587 66 $(CXX) -c $(CFLAGS) $(GSOAP_INCLUDE) $(GSL_INCLUDE) -Wall $<
mas01cr@239 67
mas01cr@345 68 cmdline.o: cmdline.c cmdline.h
mas01cr@587 69 $(CC) -c $(CFLAGS) $<
mas01cr@345 70
mas01cr@371 71 $(EXECUTABLE): $(OBJS) soapServer.cpp soapClient.cpp soapC.cpp
mas01cr@587 72 $(CXX) -o $(EXECUTABLE) $(CFLAGS) $^ $(LIBGSL) $(GSOAP_INCLUDE) $(GSOAP_CPP)
mas01ik@355 73
mas01cr@498 74 $(LIBRARY): $(LIBOBJS)
mas01cr@611 75 $(CXX) $(SHARED_LIB_FLAGS) -o $(LIBRARY) $(CFLAGS) $^
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
mas01cr@549 97 test: $(EXECUTABLE) $(LIBRARY)
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
mas01cr@587 102 $(CC) -o $@ $(CFLAGS) $(GSL_INCLUDE) $(LIBGSL) $<
mas01ik@355 103
mas01cr@611 104 $(EXECUTABLE).pc:
mas01cr@611 105 ./make-pc.sh "$(EXECUTABLE)" "$(LIBDIR)" "$(INCLUDEDIR)" $(SOVERSION) $(MINORVERSION) > $(EXECUTABLE).pc
mas01cr@611 106
mas01cr@611 107 install: $(EXECUTABLE).pc
mas01cr@611 108 mkdir -m755 -p $(LIBDIR)/pkgconfig $(BINDIR) $(INCLUDEDIR) $(MANDIR)/man1
mas01cr@611 109 install -m644 $(LIBRARY) $(LIBDIR)
map01bf@617 110 ifneq ($(shell uname),Darwin)
mas01cr@611 111 ldconfig -n $(LIBDIR)
map01bf@617 112 endif
mas01cr@611 113 ln -s $(LIBRARY) $(LIBDIR)/lib$(EXECUTABLE).so
mas01cr@611 114 install -m755 $(EXECUTABLE) $(BINDIR)
mas01cr@611 115 install -m644 audioDB_API.h $(INCLUDEDIR)
mas01cr@611 116 install -m644 $(EXECUTABLE).1 $(MANDIR)/man1
mas01cr@611 117 install $(EXECUTABLE).pc $(LIBDIR)/pkgconfig