3 CXXFLAGS := -DUSE_PTHREADS -DHAVE_LIBSAMPLERATE -DHAVE_FFTW3 -DFFTW_DOUBLE_ONLY @CXXFLAGS@ @SRC_CFLAGS@ @SNDFILE_CFLAGS@ @FFTW_CFLAGS@ @Vamp_CFLAGS@ -Irubberband -Isrc $(OPTFLAGS)
4 LDFLAGS := @LDFLAGS@ -lpthread $(LDFLAGS)
6 LIBRARY_LIBS := @SRC_LIBS@ @FFTW_LIBS@
7 PROGRAM_LIBS := @SNDFILE_LIBS@ $(LIBRARY_LIBS)
8 VAMP_PLUGIN_LIBS := @Vamp_LIBS@ $(LIBRARY_LIBS)
9 LADSPA_PLUGIN_LIBS := $(LIBRARY_LIBS)
14 DYNAMIC_LDFLAGS := -shared -Wl,-Bsymbolic
15 DYNAMIC_EXTENSION := .so
17 PROGRAM_TARGET := bin/rubberband
18 STATIC_TARGET := lib/librubberband.a
19 DYNAMIC_TARGET := lib/librubberband$(DYNAMIC_EXTENSION)
20 VAMP_TARGET := lib/vamp-rubberband$(DYNAMIC_EXTENSION)
21 LADSPA_TARGET := lib/ladspa-rubberband$(DYNAMIC_EXTENSION)
23 INSTALL_BINDIR := @prefix@/bin
24 INSTALL_INCDIR := @prefix@/include/rubberband
25 INSTALL_LIBDIR := @prefix@/lib
26 INSTALL_VAMPDIR := @prefix@/lib/vamp
27 INSTALL_LADSPADIR := @prefix@/lib/ladspa
28 INSTALL_PKGDIR := @prefix@/lib/pkgconfig
30 all: bin lib $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
33 rubberband/TimeStretcher.h \
34 rubberband/RubberBandStretcher.h
38 src/ConstantAudioCurve.h \
40 src/HighFrequencyAudioCurve.h \
41 src/PercussiveAudioCurve.h \
45 src/SpectralDifferenceAudioCurve.h \
46 src/StretchCalculator.h \
48 src/StretcherChannelData.h \
54 src/RubberBandStretcher.cpp \
55 src/ConstantAudioCurve.cpp \
56 src/HighFrequencyAudioCurve.cpp \
57 src/PercussiveAudioCurve.cpp \
60 src/SpectralDifferenceAudioCurve.cpp \
61 src/StretchCalculator.cpp \
62 src/StretcherImpl.cpp \
63 src/StretcherProcess.cpp \
64 src/StretcherChannelData.cpp \
73 src/vamp/RubberBandVampPlugin.h
76 src/vamp/RubberBandVampPlugin.cpp \
80 src/ladspa/RubberBandPitchShifter.h
83 src/ladspa/RubberBandPitchShifter.cpp \
84 src/ladspa/libmain.cpp
86 LIBRARY_OBJECTS := $(LIBRARY_SOURCES:.cpp=.o)
87 PROGRAM_OBJECTS := $(PROGRAM_SOURCES:.cpp=.o)
88 VAMP_OBJECTS := $(VAMP_SOURCES:.cpp=.o)
89 LADSPA_OBJECTS := $(LADSPA_SOURCES:.cpp=.o)
91 $(PROGRAM_TARGET): $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS)
92 $(CXX) -o $@ $^ $(PROGRAM_LIBS) $(PROGRAM_LIBS) $(LDFLAGS)
94 $(STATIC_TARGET): $(LIBRARY_OBJECTS)
97 $(DYNAMIC_TARGET): $(LIBRARY_OBJECTS)
98 $(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS)
100 $(VAMP_TARGET): $(LIBRARY_OBJECTS) $(VAMP_OBJECTS)
101 $(CXX) $(DYNAMIC_LDFLAGS) -o $@ $^ $(VAMP_PLUGIN_LIBS) $(LDFLAGS)
103 $(LADSPA_TARGET): $(LIBRARY_OBJECTS) $(LADSPA_OBJECTS)
104 $(CXX) $(DYNAMIC_LDFLAGS) -o $@ $^ $(LADSPA_PLUGIN_LIBS) $(LDFLAGS)
112 $(MKDIR) -p $(INSTALL_BINDIR)
113 $(MKDIR) -p $(INSTALL_INCDIR)
114 $(MKDIR) -p $(INSTALL_LIBDIR)
115 $(MKDIR) -p $(INSTALL_VAMPDIR)
116 $(MKDIR) -p $(INSTALL_LADSPADIR)
117 cp $(PROGRAM_TARGET) $(INSTALL_BINDIR)
118 cp $(PUBLIC_INCLUDES) $(INSTALL_INCDIR)
119 cp $(STATIC_TARGET) $(INSTALL_LIBDIR)
120 cp $(DYNAMIC_TARGET) $(INSTALL_LIBDIR)
121 cp $(VAMP_TARGET) $(INSTALL_VAMPDIR)
122 cp src/vamp/vamp-rubberband.cat $(INSTALL_VAMPDIR)
123 cp $(LADSPA_TARGET) $(INSTALL_LADSPADIR)
124 cp src/ladspa/ladspa-rubberband.cat $(INSTALL_LADSPADIR)
125 sed "s,%PREFIX%,@prefix@," rubberband.pc.in \
126 > $(INSTALL_PKGDIR)/rubberband.pc
129 rm -f $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS) $(LADSPA_OBJECTS) $(VAMP_OBJECTS)
132 rm -f $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)
136 src/AudioCurve.o: src/AudioCurve.h
137 src/ConstantAudioCurve.o: src/ConstantAudioCurve.h src/AudioCurve.h
138 src/FFT.o: src/FFT.h src/Thread.h
139 src/HighFrequencyAudioCurve.o: src/HighFrequencyAudioCurve.h src/AudioCurve.h
140 src/HighFrequencyAudioCurve.o: src/Window.h
141 src/main.o: src/sysutils.h
142 src/PercussiveAudioCurve.o: src/PercussiveAudioCurve.h src/AudioCurve.h
143 src/Resampler.o: src/Resampler.h
144 src/RubberBandStretcher.o: src/StretcherImpl.h src/Window.h src/Thread.h
145 src/RubberBandStretcher.o: src/RingBuffer.h src/Scavenger.h src/sysutils.h
146 src/RubberBandStretcher.o: src/FFT.h
147 src/SpectralDifferenceAudioCurve.o: src/SpectralDifferenceAudioCurve.h
148 src/SpectralDifferenceAudioCurve.o: src/AudioCurve.h src/Window.h
149 src/StretchCalculator.o: src/StretchCalculator.h
150 src/StretcherChannelData.o: src/StretcherChannelData.h src/StretcherImpl.h
151 src/StretcherChannelData.o: src/Window.h src/Thread.h src/RingBuffer.h
152 src/StretcherChannelData.o: src/Scavenger.h src/sysutils.h src/FFT.h
153 src/StretcherChannelData.o: src/Resampler.h
154 src/StretcherImpl.o: src/StretcherImpl.h src/Window.h src/Thread.h
155 src/StretcherImpl.o: src/RingBuffer.h src/Scavenger.h src/sysutils.h
156 src/StretcherImpl.o: src/FFT.h src/PercussiveAudioCurve.h src/AudioCurve.h
157 src/StretcherImpl.o: src/HighFrequencyAudioCurve.h
158 src/StretcherImpl.o: src/SpectralDifferenceAudioCurve.h
159 src/StretcherImpl.o: src/ConstantAudioCurve.h src/StretchCalculator.h
160 src/StretcherImpl.o: src/StretcherChannelData.h src/Resampler.h
161 src/StretcherProcess.o: src/StretcherImpl.h src/Window.h src/Thread.h
162 src/StretcherProcess.o: src/RingBuffer.h src/Scavenger.h src/sysutils.h
163 src/StretcherProcess.o: src/FFT.h src/PercussiveAudioCurve.h src/AudioCurve.h
164 src/StretcherProcess.o: src/HighFrequencyAudioCurve.h
165 src/StretcherProcess.o: src/ConstantAudioCurve.h src/StretchCalculator.h
166 src/StretcherProcess.o: src/StretcherChannelData.h src/Resampler.h
167 src/sysutils.o: src/sysutils.h
168 src/Thread.o: src/Thread.h
169 src/ConstantAudioCurve.o: src/AudioCurve.h
170 src/HighFrequencyAudioCurve.o: src/AudioCurve.h src/Window.h
171 src/PercussiveAudioCurve.o: src/AudioCurve.h
172 src/RingBuffer.o: src/Scavenger.h src/Thread.h src/sysutils.h
173 src/Scavenger.o: src/Thread.h src/sysutils.h
174 src/SpectralDifferenceAudioCurve.o: src/AudioCurve.h src/Window.h
175 src/StretcherChannelData.o: src/StretcherImpl.h src/Window.h src/Thread.h
176 src/StretcherChannelData.o: src/RingBuffer.h src/Scavenger.h src/sysutils.h
177 src/StretcherChannelData.o: src/FFT.h
178 src/StretcherImpl.o: src/Window.h src/Thread.h src/RingBuffer.h
179 src/StretcherImpl.o: src/Scavenger.h src/sysutils.h src/FFT.h
180 src/vamp/libmain.o: src/vamp/RubberBandVampPlugin.h
181 src/vamp/RubberBandVampPlugin.o: src/vamp/RubberBandVampPlugin.h
182 src/vamp/RubberBandVampPlugin.o: src/StretchCalculator.h
183 src/ladspa/libmain.o: src/ladspa/RubberBandPitchShifter.h src/RingBuffer.h
184 src/ladspa/libmain.o: src/Scavenger.h src/Thread.h src/sysutils.h
185 src/ladspa/RubberBandPitchShifter.o: src/ladspa/RubberBandPitchShifter.h
186 src/ladspa/RubberBandPitchShifter.o: src/RingBuffer.h src/Scavenger.h
187 src/ladspa/RubberBandPitchShifter.o: src/Thread.h src/sysutils.h
188 src/ladspa/RubberBandPitchShifter.o: src/RingBuffer.h src/Scavenger.h
189 src/ladspa/RubberBandPitchShifter.o: src/Thread.h src/sysutils.h