Chris@6
|
1
|
Chris@6
|
2 SRC_DIR := src
|
Chris@6
|
3
|
Chris@6
|
4 VAMPSDK_DIR ?= ../vamp-plugin-sdk
|
Chris@6
|
5
|
Chris@6
|
6 CQ_DIR ?= constant-q-cpp
|
Chris@6
|
7 BQVEC_DIR ?= bqvec
|
Chris@6
|
8
|
Chris@6
|
9 PLUGIN_EXT ?= .so
|
Chris@6
|
10
|
Chris@6
|
11 CXX ?= g++
|
Chris@6
|
12 CC ?= gcc
|
Chris@6
|
13 AR ?= ar
|
Chris@6
|
14 RANLIB ?= ranlib
|
Chris@6
|
15
|
Chris@6
|
16 CFLAGS := $(CFLAGS)
|
Chris@7
|
17 CXXFLAGS := $(CFLAGS) -I. -I$(VAMPSDK_DIR) -I$(CQ_DIR) -I$(BQVEC_DIR) -I$(BQVEC_DIR)/bqvec -I$(CQ_DIR)/src/dsp $(CXXFLAGS)
|
Chris@6
|
18
|
Chris@6
|
19 LDFLAGS := $(LDFLAGS)
|
Chris@6
|
20 PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
|
Chris@6
|
21
|
Chris@6
|
22 LIBRARY := libtipic.a
|
Chris@6
|
23 PLUGIN := tipic-vamp$(PLUGIN_EXT)
|
Chris@6
|
24
|
Chris@6
|
25 PUBLIC_HEADERS :=
|
Chris@6
|
26
|
Chris@39
|
27 LIB_HEADERS := \
|
Chris@39
|
28 $(SRC_DIR)/delays.h \
|
Chris@39
|
29 $(SRC_DIR)/filter-a.h \
|
Chris@39
|
30 $(SRC_DIR)/filter-b.h \
|
Chris@39
|
31 $(SRC_DIR)/Filter.h \
|
Chris@39
|
32 $(SRC_DIR)/PitchFilterbank.h \
|
Chris@39
|
33 $(SRC_DIR)/DCT.h \
|
Chris@39
|
34 $(SRC_DIR)/Types.h \
|
Chris@39
|
35 $(SRC_DIR)/CRP.h \
|
Chris@39
|
36 $(SRC_DIR)/Normalise.h \
|
Chris@39
|
37 $(SRC_DIR)/LogCompress.h \
|
Chris@39
|
38 $(SRC_DIR)/OctaveFold.h \
|
Chris@39
|
39 $(SRC_DIR)/Resize.h \
|
Chris@39
|
40 $(SRC_DIR)/Chroma.h \
|
Chris@39
|
41 $(SRC_DIR)/FeatureDownsample.h \
|
Chris@39
|
42 $(SRC_DIR)/Quantize.h \
|
Chris@39
|
43 $(SRC_DIR)/CENS.h
|
Chris@39
|
44
|
Chris@39
|
45 LIB_SOURCES := \
|
Chris@39
|
46 $(SRC_DIR)/Filter.cpp \
|
Chris@39
|
47 $(SRC_DIR)/PitchFilterbank.cpp \
|
Chris@39
|
48 $(SRC_DIR)/DCT.cpp \
|
Chris@39
|
49 $(SRC_DIR)/CRP.cpp \
|
Chris@39
|
50 $(SRC_DIR)/Normalise.cpp \
|
Chris@39
|
51 $(SRC_DIR)/Chroma.cpp \
|
Chris@39
|
52 $(SRC_DIR)/FeatureDownsample.cpp \
|
Chris@39
|
53 $(SRC_DIR)/CENS.cpp
|
Chris@39
|
54
|
Chris@6
|
55 LIB_OBJECTS := $(LIB_SOURCES:.cpp=.o)
|
Chris@6
|
56 LIB_OBJECTS := $(LIB_OBJECTS:.c=.o)
|
Chris@6
|
57
|
Chris@7
|
58 PLUGIN_HEADERS := $(SRC_DIR)/TipicVampPlugin.h
|
Chris@10
|
59 PLUGIN_SOURCES := $(SRC_DIR)/TipicVampPlugin.cpp $(SRC_DIR)/libmain.cpp
|
Chris@18
|
60 PLUGIN_OBJECTS := $(PLUGIN_SOURCES:.cpp=.o)
|
Chris@18
|
61 PLUGIN_OBJECTS := $(PLUGIN_OBJECTS:.c=.o)
|
Chris@6
|
62
|
Chris@6
|
63 BQVEC_HEADERS := $(BQVEC_DIR)/Allocators.h $(BQVEC_DIR)/Restrict.h $(BQVEC_DIR)/VectorOps.h
|
Chris@6
|
64 BQVEC_SOURCES := $(BQVEC_DIR)/src/Allocators.cpp
|
Chris@18
|
65 BQVEC_OBJECTS := $(BQVEC_SOURCES:.cpp=.o)
|
Chris@18
|
66 BQVEC_OBJECTS := $(BQVEC_OBJECTS:.c=.o)
|
Chris@18
|
67
|
Chris@21
|
68 TEST_SOURCES := $(SRC_DIR)/test-filter.cpp $(SRC_DIR)/test-dct.cpp $(SRC_DIR)/test-normalise.cpp
|
Chris@18
|
69 TEST_OBJECTS := $(TEST_SOURCES:.cpp=.o)
|
Chris@18
|
70 TEST_OBJECTS := $(TEST_OBJECTS:.c=.o)
|
Chris@18
|
71
|
Chris@18
|
72 OTHER_OBJECTS := $(CQ_DIR)/src/dsp/FFT.o $(CQ_DIR)/src/ext/kissfft/kiss_fft.o $(CQ_DIR)/src/ext/kissfft/tools/kiss_fftr.o
|
Chris@6
|
73
|
Chris@6
|
74 HEADERS := $(PUBLIC_HEADERS) $(LIB_HEADERS) $(PLUGIN_HEADERS) $(BQVEC_HEADERS)
|
Chris@18
|
75 SOURCES := $(PUBLIC_SOURCES) $(LIB_SOURCES) $(PLUGIN_SOURCES) $(BQVEC_SOURCES) $(TEST_SOURCES)
|
Chris@6
|
76 OBJECTS := $(SOURCES:.cpp=.o)
|
Chris@6
|
77 OBJECTS := $(OBJECTS:.c=.o)
|
Chris@6
|
78
|
Chris@6
|
79 LIBS := $(CQ_DIR)/libcq.a $(VAMPSDK_DIR)/libvamp-sdk.a
|
Chris@6
|
80
|
Chris@18
|
81 all: constant-q-cpp $(LIBRARY) $(PLUGIN) tests
|
Chris@6
|
82
|
Chris@6
|
83 .PHONY: constant-q-cpp
|
Chris@6
|
84 constant-q-cpp:
|
Chris@6
|
85 $(MAKE) -C $@ -f Makefile$(MAKEFILE_EXT) libcq.a
|
Chris@6
|
86
|
Chris@18
|
87 $(PLUGIN): $(PLUGIN_OBJECTS) $(LIB_OBJECTS) $(BQVEC_OBJECTS) $(LIBS)
|
Chris@6
|
88 $(CXX) -o $@ $^ $(LIBS) $(PLUGIN_LDFLAGS)
|
Chris@6
|
89
|
Chris@18
|
90 $(LIBRARY): $(LIB_OBJECTS) $(BQVEC_OBJECTS) $(OTHER_OBJECTS)
|
Chris@6
|
91 $(RM) -f $@
|
Chris@6
|
92 $(AR) cr $@ $^
|
Chris@6
|
93 $(RANLIB) $@
|
Chris@6
|
94
|
Chris@18
|
95 .PHONY: tests
|
Chris@21
|
96 tests: test-dct test-filter test-normalise
|
Chris@18
|
97 ./test-dct
|
Chris@18
|
98 ./test-filter
|
Chris@21
|
99 ./test-normalise
|
Chris@18
|
100
|
Chris@18
|
101 test-dct: $(TEST_OBJECTS) $(LIBRARY)
|
Chris@18
|
102 $(CXX) -o $@ src/test-dct.o $(LIBRARY)
|
Chris@18
|
103
|
Chris@18
|
104 test-filter: $(TEST_OBJECTS) $(LIBRARY)
|
Chris@18
|
105 $(CXX) -o $@ src/test-filter.o $(LIBRARY)
|
Chris@18
|
106
|
Chris@21
|
107 test-normalise: $(TEST_OBJECTS) $(LIBRARY)
|
Chris@21
|
108 $(CXX) -o $@ src/test-normalise.o $(LIBRARY)
|
Chris@21
|
109
|
Chris@6
|
110 clean:
|
Chris@6
|
111 rm -f $(OBJECTS)
|
Chris@6
|
112 $(MAKE) -C constant-q-cpp -f Makefile$(MAKEFILE_EXT) clean
|
Chris@6
|
113
|
Chris@6
|
114 distclean: clean
|
Chris@6
|
115 rm -f $(PLUGIN)
|
Chris@6
|
116
|
Chris@6
|
117 depend:
|
Chris@6
|
118 makedepend -I$(BQVEC_DIR) -Y -fMakefile.inc $(SOURCES) $(HEADERS)
|
Chris@6
|
119
|
Chris@6
|
120 # DO NOT DELETE
|
Chris@6
|
121
|
Chris@6
|
122 src/Filter.o: src/Filter.h bqvec/bqvec/Restrict.h bqvec/bqvec/VectorOps.h
|
Chris@6
|
123 src/Filter.o: bqvec/bqvec/Restrict.h bqvec/bqvec/Allocators.h
|
Chris@24
|
124 src/PitchFilterbank.o: src/PitchFilterbank.h src/Types.h src/Filter.h
|
Chris@6
|
125 src/PitchFilterbank.o: bqvec/bqvec/Restrict.h src/delays.h src/filter-a.h
|
Chris@6
|
126 src/PitchFilterbank.o: src/filter-b.h
|
Chris@24
|
127 src/DCT.o: src/DCT.h
|
Chris@26
|
128 src/CRP.o: src/CRP.h src/Types.h src/DCTReduce.h src/DCT.h src/Normalise.h
|
Chris@26
|
129 src/CRP.o: src/LogCompress.h src/OctaveFold.h src/Resize.h
|
Chris@24
|
130 src/Normalise.o: src/Normalise.h
|
Chris@39
|
131 src/Chroma.o: src/Chroma.h src/Types.h src/Normalise.h src/LogCompress.h
|
Chris@39
|
132 src/Chroma.o: src/OctaveFold.h src/Resize.h
|
Chris@35
|
133 src/FeatureDownsample.o: src/FeatureDownsample.h src/Types.h src/Filter.h
|
Chris@39
|
134 src/FeatureDownsample.o: bqvec/bqvec/Restrict.h src/Normalise.h
|
Chris@39
|
135 src/CENS.o: src/CENS.h src/Types.h src/Quantize.h src/Normalise.h
|
Chris@39
|
136 src/CENS.o: src/OctaveFold.h src/Resize.h
|
Chris@24
|
137 src/TipicVampPlugin.o: src/TipicVampPlugin.h src/Types.h
|
Chris@26
|
138 src/TipicVampPlugin.o: src/PitchFilterbank.h src/CRP.h src/DCTReduce.h
|
Chris@39
|
139 src/TipicVampPlugin.o: src/DCT.h src/Chroma.h src/CENS.h src/Quantize.h
|
Chris@39
|
140 src/TipicVampPlugin.o: src/FeatureDownsample.h bqvec/bqvec/Range.h
|
Chris@39
|
141 src/TipicVampPlugin.o: bqvec/bqvec/VectorOps.h bqvec/bqvec/Restrict.h
|
Chris@24
|
142 src/libmain.o: src/TipicVampPlugin.h src/Types.h
|
Chris@24
|
143 src/test-filter.o: src/Filter.h bqvec/bqvec/Restrict.h
|
Chris@24
|
144 src/test-dct.o: src/DCT.h
|
Chris@24
|
145 src/test-normalise.o: src/Normalise.h
|
Chris@6
|
146 src/Filter.o: bqvec/bqvec/Restrict.h
|
Chris@24
|
147 src/PitchFilterbank.o: src/Types.h
|
Chris@26
|
148 src/CRP.o: src/Types.h src/DCTReduce.h src/DCT.h
|
Chris@39
|
149 src/Chroma.o: src/Types.h
|
Chris@35
|
150 src/FeatureDownsample.o: src/Types.h
|
Chris@39
|
151 src/CENS.o: src/Types.h src/Quantize.h
|
Chris@24
|
152 src/TipicVampPlugin.o: src/Types.h
|