annotate Makefile @ 393:fd9b65e5ca95 api-inversion

There can be only one (again). I think I see how it arose, but there's in fact no need to have two separate status structures ("struct adbstatus" and "struct cppstatus"). Delete "struct cppstatus" and simplify audioDB::status accordingly.
author mas01cr
date Tue, 25 Nov 2008 16:40:59 +0000
parents 78fed0d4c108
children bc7a821004bb
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
mas01cr@392 11 LIBOBJS=insert.o create.o common.o open.o close.o dump.o liszt.o query.o sample.o index.o lshlib.o cmdline.o
map01bf@374 12 OBJS=$(LIBOBJS) soap.o audioDB.o
map01bf@374 13
map01bf@374 14
map01bf@374 15 EXECUTABLE=audioDB
map01bf@374 16
map01bf@374 17 SOVERSION=0
map01bf@374 18 MINORVERSION=0
map01bf@374 19 LIBRARY=lib$(EXECUTABLE).so.$(SOVERSION).$(MINORVERSION)
map01bf@374 20
mas01ik@355 21 override CFLAGS+=-O3 -g -fPIC
mas01cr@244 22
mas01cr@239 23 ifeq ($(shell uname),Linux)
mas01cr@239 24 override CFLAGS+=-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
mas01cr@239 25 endif
mas01cr@137 26
mas01cr@244 27 ifeq ($(shell uname),Darwin)
mas01cr@244 28 ifeq ($(shell sysctl -n hw.optional.x86_64),1)
mas01mc@315 29 override CFLAGS+=-arch x86_64
mas01cr@244 30 endif
map01bf@374 31 override SHARED_LIB_FLAGS=-dynamiclib -current_version $(SOVERSION).$(MINORVERSION) -Wl -install_name
map01bf@374 32 override LIBRARY=lib$(EXECUTABLE).$(SOVERSION).$(MINORVERSION).dylib
mas01cr@244 33 endif
mas01cr@244 34
mas01cr@72 35 .PHONY: all clean test
mas01cr@72 36
mas01cr@371 37 all: $(LIBRARY) $(EXECUTABLE)
mas01cr@2 38
mas01ik@355 39 $(EXECUTABLE).1: $(EXECUTABLE)
mas01ik@355 40 $(HELP2MAN) ./$(EXECUTABLE) > $(EXECUTABLE).1
mas01cr@0 41
mas01ik@355 42 HELP.txt: $(EXECUTABLE)
mas01ik@355 43 ./$(EXECUTABLE) --help > HELP.txt
mas01cr@3 44
mas01cr@1 45 cmdline.c cmdline.h: gengetopt.in
mas01ik@355 46 $(GENGETOPT) -e <gengetopt.in
mas01cr@1 47
mas01cr@239 48 soapServer.cpp soapClient.cpp soapC.cpp adb.nsmap: audioDBws.h
mas01ik@355 49 $(SOAPCPP2) audioDBws.h
mas01cr@1 50
mas01cr@387 51 %.o: %.cpp audioDB.h audioDB_API.h adb.nsmap cmdline.h reporter.h ReporterBase.h lshlib.h
mas01ik@355 52 g++ -c $(CFLAGS) $(GSOAP_INCLUDE) $(GSL_INCLUDE) -Wall $<
mas01cr@239 53
mas01cr@345 54 cmdline.o: cmdline.c cmdline.h
mas01ik@355 55 gcc -c $(CFLAGS) $<
mas01cr@345 56
mas01cr@371 57 audioDB_library.o: audioDB.cpp
mas01cr@371 58 g++ -c -o $@ $(CFLAGS) $(GSOAP_INCLUDE) -Wall -DLIBRARY $<
mas01cr@239 59
mas01cr@371 60 $(EXECUTABLE): $(OBJS) soapServer.cpp soapClient.cpp soapC.cpp
mas01cr@371 61 g++ -o $(EXECUTABLE) $(CFLAGS) $^ $(LIBGSL) $(GSOAP_INCLUDE) $(GSOAP_CPP)
mas01ik@355 62
mas01ik@355 63
mas01cr@371 64 $(LIBRARY): $(LIBOBJS) audioDB_library.o
map01bf@374 65 g++ $(SHARED_LIB_FLAGS)$(LIBRARY) -o $(LIBRARY) $(CFLAGS) $(LIBGSL) $^
mas01ik@355 66
mas01ik@355 67 tags:
mas01ik@355 68 ctags *.cpp *.h
mas01ik@355 69
mas01cr@2 70
mas01cr@2 71 clean:
mas01cr@2 72 -rm cmdline.c cmdline.h
mas01cr@2 73 -rm soapServer.cpp soapClient.cpp soapC.cpp soapObject.h soapStub.h soapProxy.h soapH.h soapServerLib.cpp soapClientLib.cpp
mas01ik@355 74 -rm adb.*
mas01cr@135 75 -rm HELP.txt
mas01ik@355 76 -rm $(EXECUTABLE) $(EXECUTABLE).1 $(OBJS)
mas01cr@281 77 -rm xthresh
mas01cr@59 78 -sh -c "cd tests && sh ./clean.sh"
mas01ik@355 79 -sh -c "cd libtests && sh ./clean.sh"
mas01cr@371 80 -rm $(LIBRARY) audioDB_library.o
mas01ik@355 81 -rm tags
mas01cr@72 82
mas01cr@372 83 distclean: clean
mas01ik@355 84 -rm *.o
mas01ik@355 85 -rm -rf audioDB.dump
mas01ik@355 86
mas01ik@355 87
mas01ik@355 88 test: $(EXECUTABLE)
mas01cr@72 89 -sh -c "cd tests && sh ./run-tests.sh"
mas01cr@280 90
mas01cr@280 91 xthresh: xthresh.c
mas01ik@355 92 gcc -o $@ $(CFLAGS) $(GSL_INCLUDE) $(LIBGSL) $<
mas01ik@355 93
mas01ik@355 94 install:
mas01ik@355 95 cp $(LIBRARY) /usr/local/lib/
mas01cr@373 96 ln -sf /usr/local/lib/$(LIBRARY) /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION)
mas01cr@373 97 ln -sf /usr/local/lib/lib$(EXECUTABLE).so.$(SOVERSION) /usr/local/lib/lib$(EXECUTABLE).so
mas01ik@355 98 ldconfig
mas01ik@355 99 cp audioDB_API.h /usr/local/include/
mas01ik@355 100