This repository was archived by the owner on Mar 28, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 284
Expand file tree
/
Copy pathMakefile
More file actions
88 lines (76 loc) · 2.64 KB
/
Makefile
File metadata and controls
88 lines (76 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Version of echoprint, as a list. Is expanded out
# for various version numbers.
EP_VERSION := 4 1 1
VERSION := $(word 1, $(EP_VERSION)).$(word 2, $(EP_VERSION)).$(word 3, $(EP_VERSION))
VERSION_MAJ := $(word 1, $(EP_VERSION))
VERSION_COMPAT := $(word 1, $(EP_VERSION)).$(word 2, $(EP_VERSION))
UNAME := $(shell uname -s)
CXX=g++
CC=gcc
#OPTFLAGS=-g -O0
OPTFLAGS=-O3 -DBOOST_UBLAS_NDEBUG -DNDEBUG
BOOST_CFLAGS=-I/usr/local/include/boost-1_35
TAGLIB_CFLAGS=`taglib-config --cflags`
TAGLIB_LIBS=`taglib-config --libs`
CXXFLAGS=-Wall $(BOOST_CFLAGS) $(TAGLIB_CFLAGS) -fPIC $(OPTFLAGS)
CFLAGS=-Wall -fPIC $(OPTFLAGS)
LDFLAGS=$(TAGLIB_LIBS) -lz -lpthread $(OPTFLAGS)
LIBNAME=libcodegen.so
SONAME=$(LIBNAME).$(VERSION_MAJ)
MODULES_LIB = \
AudioBufferInput.o \
AudioStreamInput.o \
Base64.o \
FPCode.o \
Codegen.o \
Fingerprint.o \
MatrixUtility.o \
SubbandAnalysis.o \
Whitening.o
MODULES = $(MODULES_LIB) Metadata.o
all: libcodegen echoprint-codegen
libcodegen: $(MODULES_LIB)
ifeq ($(UNAME),Darwin)
libtool -dynamic -flat_namespace -install_name libcodegen.$(VERSION).dylib -lSystem -compatibility_version $(VERSION_COMPAT) \
-macosx_version_min 10.6 -current_version $(VERSION) -o libcodegen.$(VERSION).dylib -undefined suppress \
$(MODULES_LIB) -framework vecLib -framework Accelerate
else
$(CXX) -shared -fPIC -Wl,-soname,$(SONAME) -o $(LIBNAME).$(VERSION) $(MODULES_LIB) -lz
endif
echoprint-codegen: $(MODULES) main.o
$(CXX) $(MODULES) main.o $(LDFLAGS) -o ../echoprint-codegen
%.o: %.c %.h
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $<
%.o: %.cxx %.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
%.o: %.cxx
$(CXX) $(CXXFLAGS) -c -o $@ $<
clean:
rm -f *.o ../echoprint-codegen
rm -f libcodegen.so*
ifeq ($(UNAME),Darwin)
rm -f *.dylib
endif
PREFIX ?= /usr/local
DESTDIR ?= $(PREFIX)
BINDIR ?= /bin
LIBDIR ?= /lib
INCLUDEDIR ?= /include
install: all
mkdir -p $(DESTDIR)$(BINDIR)
install ../echoprint-codegen $(DESTDIR)$(BINDIR)
install -d $(DESTDIR)$(INCLUDEDIR)/echoprint
install -pm 644 FPCode.h Codegen.h $(DESTDIR)$(INCLUDEDIR)/echoprint/
mkdir -p $(DESTDIR)$(LIBDIR)
ifeq ($(UNAME),Darwin)
install -m 755 libcodegen.$(VERSION).dylib $(DESTDIR)$(LIBDIR)
ln -fs $(DESTDIR)$(LIBDIR)/libcodegen.$(VERSION) $(DESTDIR)$(LIBDIR)/libcodegen.$(VERSION_MAJ).dylib
ln -fs $(DESTDIR)$(LIBDIR)/libcodegen.$(VERSION_MAJ).dylib $(DESTDIR)$(LIBDIR)/libcodegen.dylib
else
install -m 755 $(LIBNAME).$(VERSION) $(DESTDIR)$(LIBDIR)
ln -fs $(DESTDIR)$(LIBDIR)/$(LIBNAME).$(VERSION) $(DESTDIR)$(LIBDIR)/$(SONAME)
ln -fs $(DESTDIR)$(LIBDIR)/$(SONAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
endif
.PHONY: clean all libcodegen echoprint-codegen install