1
2CXX		:= g++
3CC		:= gcc
4
5OPTFLAGS	:= -DNDEBUG -ffast-math -O3 -ftree-vectorize
6
7ARCHFLAGS	:=
8
9CXXFLAGS	:= -std=c++11 $(ARCHFLAGS) $(OPTFLAGS) -I. -Isrc -Irubberband -DHAVE_LIBSAMPLERATE -DUSE_BUILTIN_FFT -DNO_THREAD_CHECKS -DUSE_PTHREADS -DNO_TIMING -DHAVE_POSIX_MEMALIGN -DNDEBUG
10
11CFLAGS		:= $(ARCHFLAGS) $(OPTFLAGS)
12
13AR		:= ar
14MKDIR		:= mkdir -p
15
16LIBNAME		:= librubberband
17
18STATIC_TARGET  	:= lib/$(LIBNAME).a
19
20default:	lib $(STATIC_TARGET)
21all:		lib $(STATIC_TARGET)
22static:		lib $(STATIC_TARGET)
23
24PUBLIC_INCLUDES := \
25	rubberband/rubberband-c.h \
26	rubberband/RubberBandStretcher.h
27
28LIBRARY_INCLUDES := \
29	src/StretcherChannelData.h \
30	src/float_cast/float_cast.h \
31	src/StretcherImpl.h \
32	src/StretchCalculator.h \
33	src/base/Profiler.h \
34	src/base/RingBuffer.h \
35	src/base/Scavenger.h \
36	src/dsp/AudioCurveCalculator.h \
37	src/audiocurves/CompoundAudioCurve.h \
38	src/audiocurves/ConstantAudioCurve.h \
39	src/audiocurves/HighFrequencyAudioCurve.h \
40	src/audiocurves/PercussiveAudioCurve.h \
41	src/audiocurves/SilentAudioCurve.h \
42	src/audiocurves/SpectralDifferenceAudioCurve.h \
43	src/dsp/Resampler.h \
44	src/dsp/FFT.h \
45	src/dsp/MovingMedian.h \
46	src/dsp/SincWindow.h \
47	src/dsp/Window.h \
48	src/system/Allocators.h \
49	src/system/Thread.h \
50	src/system/VectorOps.h \
51	src/system/sysutils.h
52
53LIBRARY_SOURCES := \
54	src/rubberband-c.cpp \
55	src/RubberBandStretcher.cpp \
56	src/StretcherProcess.cpp \
57	src/StretchCalculator.cpp \
58	src/base/Profiler.cpp \
59	src/dsp/AudioCurveCalculator.cpp \
60	src/audiocurves/CompoundAudioCurve.cpp \
61	src/audiocurves/SpectralDifferenceAudioCurve.cpp \
62	src/audiocurves/HighFrequencyAudioCurve.cpp \
63	src/audiocurves/SilentAudioCurve.cpp \
64	src/audiocurves/ConstantAudioCurve.cpp \
65	src/audiocurves/PercussiveAudioCurve.cpp \
66	src/dsp/Resampler.cpp \
67	src/dsp/FFT.cpp \
68	src/system/Allocators.cpp \
69	src/system/sysutils.cpp \
70	src/system/Thread.cpp \
71	src/StretcherChannelData.cpp \
72	src/StretcherImpl.cpp
73
74LIBRARY_OBJECTS := $(LIBRARY_SOURCES:.cpp=.o)
75LIBRARY_OBJECTS := $(LIBRARY_OBJECTS:.c=.o)
76
77$(STATIC_TARGET):	$(LIBRARY_OBJECTS)
78	$(AR) rsc $@ $^
79
80lib:
81	$(MKDIR) $@
82
83clean:
84	rm -f $(LIBRARY_OBJECTS)
85
86distclean:	clean
87	rm -f $(STATIC_TARGET)
88
89depend:
90	makedepend -f otherbuilds/Makefile.linux -Y $(LIBRARY_SOURCES) $(PROGRAM_SOURCES)
91
92
93# DO NOT DELETE
94
95src/rubberband-c.o: rubberband/rubberband-c.h
96src/rubberband-c.o: rubberband/RubberBandStretcher.h
97src/RubberBandStretcher.o: src/StretcherImpl.h
98src/RubberBandStretcher.o: rubberband/RubberBandStretcher.h src/dsp/Window.h
99src/RubberBandStretcher.o: src/dsp/SincWindow.h src/dsp/FFT.h
100src/RubberBandStretcher.o: src/audiocurves/CompoundAudioCurve.h
101src/RubberBandStretcher.o: src/dsp/AudioCurveCalculator.h
102src/RubberBandStretcher.o: src/audiocurves/PercussiveAudioCurve.h
103src/RubberBandStretcher.o: src/audiocurves/HighFrequencyAudioCurve.h
104src/RubberBandStretcher.o: src/dsp/SampleFilter.h src/base/RingBuffer.h
105src/RubberBandStretcher.o: src/base/Scavenger.h src/system/Thread.h
106src/RubberBandStretcher.o: src/system/sysutils.h
107src/StretcherProcess.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h
108src/StretcherProcess.o: src/dsp/Window.h src/dsp/SincWindow.h src/dsp/FFT.h
109src/StretcherProcess.o: src/audiocurves/CompoundAudioCurve.h
110src/StretcherProcess.o: src/dsp/AudioCurveCalculator.h
111src/StretcherProcess.o: src/audiocurves/PercussiveAudioCurve.h
112src/StretcherProcess.o: src/audiocurves/HighFrequencyAudioCurve.h
113src/StretcherProcess.o: src/dsp/SampleFilter.h src/base/RingBuffer.h
114src/StretcherProcess.o: src/base/Scavenger.h src/system/Thread.h
115src/StretcherProcess.o: src/system/sysutils.h src/audiocurves/PercussiveAudioCurve.h
116src/StretcherProcess.o: src/audiocurves/HighFrequencyAudioCurve.h
117src/StretcherProcess.o: src/audiocurves/ConstantAudioCurve.h src/StretchCalculator.h
118src/StretcherProcess.o: src/StretcherChannelData.h src/dsp/Resampler.h
119src/StretcherProcess.o: src/base/Profiler.h src/system/VectorOps.h
120src/StretcherProcess.o: src/system/sysutils.h
121src/StretchCalculator.o: src/StretchCalculator.h src/system/sysutils.h
122src/base/Profiler.o: src/base/Profiler.h src/system/sysutils.h
123src/dsp/AudioCurveCalculator.o: src/dsp/AudioCurveCalculator.h
124src/audiocurves/CompoundAudioCurve.o: src/audiocurves/CompoundAudioCurve.h
125src/audiocurves/CompoundAudioCurve.o: src/dsp/AudioCurveCalculator.h
126src/audiocurves/CompoundAudioCurve.o: src/audiocurves/PercussiveAudioCurve.h
127src/audiocurves/CompoundAudioCurve.o: src/audiocurves/HighFrequencyAudioCurve.h
128src/audiocurves/CompoundAudioCurve.o: src/dsp/SampleFilter.h src/dsp/MovingMedian.h
129src/audiocurves/SpectralDifferenceAudioCurve.o: src/audiocurves/SpectralDifferenceAudioCurve.h
130src/audiocurves/SpectralDifferenceAudioCurve.o: src/dsp/AudioCurveCalculator.h
131src/audiocurves/SpectralDifferenceAudioCurve.o: src/dsp/Window.h
132src/audiocurves/SpectralDifferenceAudioCurve.o: src/system/sysutils.h
133src/audiocurves/SpectralDifferenceAudioCurve.o: src/system/VectorOps.h
134src/audiocurves/SpectralDifferenceAudioCurve.o: src/system/sysutils.h
135src/audiocurves/HighFrequencyAudioCurve.o: src/audiocurves/HighFrequencyAudioCurve.h
136src/audiocurves/HighFrequencyAudioCurve.o: src/dsp/AudioCurveCalculator.h
137src/audiocurves/SilentAudioCurve.o: src/audiocurves/SilentAudioCurve.h
138src/audiocurves/SilentAudioCurve.o: src/dsp/AudioCurveCalculator.h
139src/audiocurves/ConstantAudioCurve.o: src/audiocurves/ConstantAudioCurve.h
140src/audiocurves/ConstantAudioCurve.o: src/dsp/AudioCurveCalculator.h
141src/audiocurves/PercussiveAudioCurve.o: src/audiocurves/PercussiveAudioCurve.h
142src/audiocurves/PercussiveAudioCurve.o: src/dsp/AudioCurveCalculator.h
143src/audiocurves/PercussiveAudioCurve.o: src/system/VectorOps.h src/system/sysutils.h
144src/dsp/Resampler.o: src/dsp/Resampler.h src/system/sysutils.h
145src/dsp/Resampler.o: src/base/Profiler.h
146src/dsp/FFT.o: src/dsp/FFT.h src/system/sysutils.h src/system/Thread.h
147src/dsp/FFT.o: src/base/Profiler.h src/system/VectorOps.h
148src/dsp/FFT.o: src/system/sysutils.h
149src/system/Allocators.o: src/system/Allocators.h src/system/VectorOps.h
150src/system/Allocators.o: src/system/sysutils.h
151src/system/sysutils.o: src/system/sysutils.h
152src/system/Thread.o: src/system/Thread.h
153src/StretcherChannelData.o: src/StretcherChannelData.h src/StretcherImpl.h
154src/StretcherChannelData.o: rubberband/RubberBandStretcher.h src/dsp/Window.h
155src/StretcherChannelData.o: src/dsp/SincWindow.h src/dsp/FFT.h
156src/StretcherChannelData.o: src/audiocurves/CompoundAudioCurve.h
157src/StretcherChannelData.o: src/dsp/AudioCurveCalculator.h
158src/StretcherChannelData.o: src/audiocurves/PercussiveAudioCurve.h
159src/StretcherChannelData.o: src/audiocurves/HighFrequencyAudioCurve.h
160src/StretcherChannelData.o: src/dsp/SampleFilter.h src/base/RingBuffer.h
161src/StretcherChannelData.o: src/base/Scavenger.h src/system/Thread.h
162src/StretcherChannelData.o: src/system/sysutils.h src/dsp/Resampler.h
163src/StretcherChannelData.o: src/system/Allocators.h src/system/VectorOps.h
164src/StretcherChannelData.o: src/system/sysutils.h
165src/StretcherImpl.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h
166src/StretcherImpl.o: src/dsp/Window.h src/dsp/SincWindow.h src/dsp/FFT.h
167src/StretcherImpl.o: src/audiocurves/CompoundAudioCurve.h
168src/StretcherImpl.o: src/dsp/AudioCurveCalculator.h
169src/StretcherImpl.o: src/audiocurves/PercussiveAudioCurve.h
170src/StretcherImpl.o: src/audiocurves/HighFrequencyAudioCurve.h src/dsp/SampleFilter.h
171src/StretcherImpl.o: src/base/RingBuffer.h src/base/Scavenger.h
172src/StretcherImpl.o: src/system/Thread.h src/system/sysutils.h
173src/StretcherImpl.o: src/audiocurves/PercussiveAudioCurve.h
174src/StretcherImpl.o: src/audiocurves/HighFrequencyAudioCurve.h
175src/StretcherImpl.o: src/audiocurves/SpectralDifferenceAudioCurve.h src/dsp/Window.h
176src/StretcherImpl.o: src/system/VectorOps.h src/system/sysutils.h
177src/StretcherImpl.o: src/audiocurves/SilentAudioCurve.h src/audiocurves/ConstantAudioCurve.h
178src/StretcherImpl.o: src/dsp/Resampler.h src/StretchCalculator.h
179src/StretcherImpl.o: src/StretcherChannelData.h src/base/Profiler.h
180main/main.o: rubberband/RubberBandStretcher.h src/system/sysutils.h
181main/main.o: src/base/Profiler.h
182