c@56
|
1
|
c@121
|
2 LIB_DIR := src
|
c@121
|
3 INC_DIR := cq
|
c@121
|
4 TEST_DIR := test
|
c@56
|
5 VAMP_DIR := vamp
|
c@122
|
6 KFFT_DIR := src/ext/kissfft
|
c@56
|
7
|
c@56
|
8 VAMPSDK_DIR ?= ../vamp-plugin-sdk
|
c@56
|
9
|
c@56
|
10 PLUGIN_EXT ?= .so
|
c@56
|
11
|
c@56
|
12 CXX ?= g++
|
c@56
|
13 CC ?= gcc
|
c@131
|
14 VALGRIND ?= valgrind -q
|
c@56
|
15
|
c@122
|
16 GENERAL_FLAGS := -I. -I$(VAMPSDK_DIR) -I$(INC_DIR) -I$(LIB_DIR) -I$(KFFT_DIR) -I$(KFFT_DIR)/tools -Dkiss_fft_scalar=double
|
c@131
|
17
|
c@122
|
18 CFLAGS := $(GENERAL_FLAGS) $(CFLAGS)
|
c@122
|
19 CXXFLAGS := $(GENERAL_FLAGS) $(CXXFLAGS)
|
c@56
|
20
|
c@56
|
21 LDFLAGS := $(LDFLAGS)
|
c@56
|
22 PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
|
c@56
|
23 TEST_LDFLAGS := $(LDFLAGS) -lboost_unit_test_framework
|
c@94
|
24 PF_LDFLAGS := $(LDFLAGS) -lsndfile
|
c@56
|
25
|
c@124
|
26 LIB := libcq.a
|
c@56
|
27 PLUGIN := cqvamp$(PLUGIN_EXT)
|
c@121
|
28 PF := $(TEST_DIR)/processfile
|
c@56
|
29
|
c@124
|
30 LIB_HEADERS := \
|
c@124
|
31 $(INC_DIR)/CQBase.h \
|
c@125
|
32 $(INC_DIR)/CQKernel.h \
|
c@124
|
33 $(INC_DIR)/ConstantQ.h \
|
c@124
|
34 $(INC_DIR)/CQSpectrogram.h \
|
c@124
|
35 $(INC_DIR)/CQInverse.h \
|
c@124
|
36 $(LIB_DIR)/dsp/FFT.h \
|
c@124
|
37 $(LIB_DIR)/dsp/KaiserWindow.h \
|
c@124
|
38 $(LIB_DIR)/dsp/MathUtilities.h \
|
c@124
|
39 $(LIB_DIR)/dsp/nan-inf.h \
|
c@124
|
40 $(LIB_DIR)/dsp/Resampler.h \
|
c@124
|
41 $(LIB_DIR)/dsp/SincWindow.h \
|
c@124
|
42 $(LIB_DIR)/dsp/Window.h \
|
c@124
|
43 $(KFFT_DIR)/kiss_fft.h \
|
c@124
|
44 $(KFFT_DIR)/tools/kiss_fftr.h
|
c@56
|
45
|
c@124
|
46 LIB_SOURCES := \
|
c@124
|
47 $(LIB_DIR)/CQKernel.cpp \
|
c@124
|
48 $(LIB_DIR)/ConstantQ.cpp \
|
c@124
|
49 $(LIB_DIR)/CQSpectrogram.cpp \
|
c@124
|
50 $(LIB_DIR)/CQInverse.cpp \
|
c@124
|
51 $(LIB_DIR)/dsp/FFT.cpp \
|
c@124
|
52 $(LIB_DIR)/dsp/KaiserWindow.cpp \
|
c@124
|
53 $(LIB_DIR)/dsp/MathUtilities.cpp \
|
c@124
|
54 $(LIB_DIR)/dsp/Resampler.cpp \
|
c@124
|
55 $(LIB_DIR)/dsp/SincWindow.cpp \
|
c@124
|
56 $(KFFT_DIR)/kiss_fft.c \
|
c@124
|
57 $(KFFT_DIR)/tools/kiss_fftr.c
|
c@124
|
58
|
c@124
|
59 VAMP_HEADERS := \
|
c@124
|
60 $(VAMP_DIR)/CQVamp.h \
|
c@124
|
61 $(VAMP_DIR)/CQChromaVamp.h \
|
c@124
|
62 $(VAMP_DIR)/Pitch.h
|
c@124
|
63
|
c@124
|
64 VAMP_SOURCES := \
|
c@124
|
65 $(VAMP_DIR)/CQVamp.cpp \
|
c@124
|
66 $(VAMP_DIR)/CQChromaVamp.cpp \
|
c@124
|
67 $(VAMP_DIR)/libmain.cpp \
|
c@124
|
68 $(VAMP_DIR)/Pitch.cpp
|
c@56
|
69
|
c@131
|
70 TEST_SOURCES := \
|
c@131
|
71 $(TEST_DIR)/TestCQFrequency.cpp \
|
c@131
|
72 $(TEST_DIR)/TestFFT.cpp \
|
c@131
|
73 $(TEST_DIR)/TestMathUtilities.cpp \
|
c@131
|
74 $(TEST_DIR)/TestResampler.cpp \
|
c@131
|
75 $(TEST_DIR)/TestWindow.cpp
|
c@131
|
76
|
c@56
|
77 HEADERS := $(LIB_HEADERS) $(VAMP_HEADERS)
|
c@56
|
78 SOURCES := $(LIB_SOURCES) $(VAMP_SOURCES)
|
c@131
|
79
|
c@124
|
80 LIB_OBJECTS := $(LIB_SOURCES:.cpp=.o)
|
c@124
|
81 LIB_OBJECTS := $(LIB_OBJECTS:.c=.o)
|
c@131
|
82
|
c@56
|
83 OBJECTS := $(SOURCES:.cpp=.o)
|
c@122
|
84 OBJECTS := $(OBJECTS:.c=.o)
|
c@56
|
85
|
c@134
|
86 TEST_OBJECTS := $(TEST_SOURCES:.cpp=.o)
|
c@131
|
87 TEST_TARGETS := $(TEST_SOURCES:.cpp=)
|
c@94
|
88
|
c@121
|
89 PF_SOURCES := $(TEST_DIR)/processfile.cpp
|
c@94
|
90 PF_OBJECTS := $(PF_SOURCES:.cpp=.o) $(OBJECTS)
|
c@56
|
91
|
c@121
|
92 LIBS := $(VAMPSDK_DIR)/libvamp-sdk.a -lpthread
|
c@56
|
93
|
c@131
|
94 all: $(LIB) $(PLUGIN) $(TEST_TARGETS) $(PF)
|
c@131
|
95 for t in $(TEST_TARGETS); do echo; echo "Running $$t"; $(VALGRIND) ./"$$t" || exit 1; done
|
c@56
|
96
|
c@56
|
97 $(PLUGIN): $(OBJECTS)
|
c@56
|
98 $(CXX) -o $@ $^ $(LIBS) $(PLUGIN_LDFLAGS)
|
c@56
|
99
|
c@94
|
100 $(PF): $(PF_OBJECTS)
|
c@94
|
101 $(CXX) -o $@ $^ $(LIBS) $(PF_LDFLAGS)
|
c@94
|
102
|
c@124
|
103 $(LIB): $(LIB_OBJECTS)
|
c@124
|
104 ar cr $@ $^
|
c@124
|
105 ranlib $@
|
c@124
|
106
|
c@131
|
107 Test%: Test%.o
|
c@131
|
108 $(CXX) -o $@ $^ $(LIB) $(LIBS) $(TEST_LDFLAGS)
|
c@131
|
109
|
c@56
|
110 clean:
|
c@94
|
111 rm -f $(OBJECTS) $(TEST_OBJECTS) $(PF_OBJECTS)
|
c@56
|
112
|
c@56
|
113 distclean: clean
|
c@134
|
114 rm -f $(PLUGIN) $(TEST_TARGETS)
|
c@56
|
115
|
c@56
|
116 depend:
|
c@94
|
117 makedepend -Y -fMakefile.inc $(SOURCES) $(TEST_SOURCES) $(PF_SOURCES) $(HEADERS)
|
c@56
|
118
|
c@58
|
119 # DO NOT DELETE
|
c@58
|
120
|
c@125
|
121 src/CQKernel.o: src/dsp/MathUtilities.h src/dsp/nan-inf.h src/dsp/FFT.h
|
c@125
|
122 src/CQKernel.o: src/dsp/Window.h
|
c@125
|
123 src/ConstantQ.o: src/dsp/Resampler.h src/dsp/MathUtilities.h
|
c@121
|
124 src/ConstantQ.o: src/dsp/nan-inf.h src/dsp/FFT.h
|
c@121
|
125 src/CQInverse.o: src/dsp/Resampler.h src/dsp/MathUtilities.h
|
c@121
|
126 src/CQInverse.o: src/dsp/nan-inf.h src/dsp/FFT.h
|
c@125
|
127 src/dsp/FFT.o: src/dsp/FFT.h src/dsp/MathUtilities.h src/dsp/nan-inf.h
|
c@125
|
128 src/dsp/KaiserWindow.o: src/dsp/KaiserWindow.h src/dsp/MathUtilities.h
|
c@125
|
129 src/dsp/KaiserWindow.o: src/dsp/nan-inf.h
|
c@125
|
130 src/dsp/MathUtilities.o: src/dsp/MathUtilities.h src/dsp/nan-inf.h
|
c@125
|
131 src/dsp/Resampler.o: src/dsp/Resampler.h src/dsp/MathUtilities.h
|
c@125
|
132 src/dsp/Resampler.o: src/dsp/nan-inf.h src/dsp/KaiserWindow.h
|
c@125
|
133 src/dsp/Resampler.o: src/dsp/SincWindow.h
|
c@125
|
134 src/dsp/SincWindow.o: src/dsp/SincWindow.h
|
c@125
|
135 src/ext/kissfft/kiss_fft.o: src/ext/kissfft/_kiss_fft_guts.h
|
c@125
|
136 src/ext/kissfft/kiss_fft.o: src/ext/kissfft/kiss_fft.h
|
c@125
|
137 src/ext/kissfft/tools/kiss_fftr.o: src/ext/kissfft/tools/kiss_fftr.h
|
c@125
|
138 src/ext/kissfft/tools/kiss_fftr.o: src/ext/kissfft/kiss_fft.h
|
c@125
|
139 src/ext/kissfft/tools/kiss_fftr.o: src/ext/kissfft/_kiss_fft_guts.h
|
c@125
|
140 vamp/CQVamp.o: vamp/CQVamp.h cq/CQSpectrogram.h cq/ConstantQ.h cq/CQBase.h
|
c@134
|
141 vamp/CQVamp.o: cq/CQParameters.h cq/CQKernel.h vamp/Pitch.h
|
c@125
|
142 vamp/CQChromaVamp.o: vamp/CQChromaVamp.h cq/CQSpectrogram.h cq/ConstantQ.h
|
c@134
|
143 vamp/CQChromaVamp.o: cq/CQBase.h cq/CQParameters.h cq/CQKernel.h vamp/Pitch.h
|
c@125
|
144 vamp/libmain.o: vamp/CQVamp.h cq/CQSpectrogram.h cq/ConstantQ.h cq/CQBase.h
|
c@134
|
145 vamp/libmain.o: cq/CQParameters.h cq/CQKernel.h vamp/CQChromaVamp.h
|
c@125
|
146 vamp/Pitch.o: vamp/Pitch.h
|
c@134
|
147 test/TestCQFrequency.o: cq/CQSpectrogram.h cq/ConstantQ.h cq/CQBase.h
|
c@134
|
148 test/TestCQFrequency.o: cq/CQParameters.h cq/CQKernel.h src/dsp/Window.h
|
c@134
|
149 test/TestFFT.o: src/dsp/FFT.h
|
c@134
|
150 test/TestMathUtilities.o: src/dsp/MathUtilities.h src/dsp/nan-inf.h
|
c@134
|
151 test/TestResampler.o: src/dsp/Resampler.h src/dsp/Window.h src/dsp/FFT.h
|
c@134
|
152 test/TestWindow.o: src/dsp/Window.h
|
c@134
|
153 test/processfile.o: cq/ConstantQ.h cq/CQBase.h cq/CQParameters.h
|
c@134
|
154 test/processfile.o: cq/CQKernel.h
|
c@134
|
155 cq/CQKernel.o: cq/CQParameters.h
|
c@134
|
156 cq/ConstantQ.o: cq/CQBase.h cq/CQParameters.h cq/CQKernel.h
|
c@134
|
157 cq/CQSpectrogram.o: cq/ConstantQ.h cq/CQBase.h cq/CQParameters.h
|
c@134
|
158 cq/CQSpectrogram.o: cq/CQKernel.h
|
c@134
|
159 cq/CQInverse.o: cq/CQBase.h cq/CQKernel.h cq/CQParameters.h
|
c@125
|
160 src/dsp/MathUtilities.o: src/dsp/nan-inf.h
|
c@125
|
161 src/ext/kissfft/tools/kiss_fftr.o: src/ext/kissfft/kiss_fft.h
|
c@134
|
162 vamp/CQVamp.o: cq/CQSpectrogram.h cq/ConstantQ.h cq/CQBase.h
|
c@134
|
163 vamp/CQVamp.o: cq/CQParameters.h cq/CQKernel.h
|