summaryrefslogtreecommitdiff
path: root/libs/rubberband/misc/Makefile.osx
blob: ecef7ab16481763fd4fc671becd5118511266e39 (plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144

CXX		= g++
CXXFLAGS	= -isysroot /Developer/SDKs/MacOSX10.4u.sdk -O3 -arch i386 -arch ppc -msse -msse2 -I../include -I../vamp-plugin-sdk -Irubberband -Isrc
LDFLAGS		= -L../lib -L../vamp-plugin-sdk/vamp-sdk

LIBRARY_LIBS		= -lsamplerate -lfftw3 -lfftw3f
PROGRAM_LIBS		= -lsndfile $(LIBRARY_LIBS)
VAMP_PLUGIN_LIBS	= -lvamp-sdk $(LIBRARY_LIBS)
LADSPA_PLUGIN_LIBS	= $(LIBRARY_LIBS)

MKDIR		= mkdir
AR		= ar

PROGRAM_TARGET := bin/rubberband
STATIC_TARGET  := lib/librubberband.a
DYNAMIC_TARGET := lib/librubberband.dylib
VAMP_TARGET    := lib/vamp-rubberband.dylib
LADSPA_TARGET  := lib/ladspa-rubberband.dylib

#DYNAMIC_LDFLAGS	:= -shared -Wl,-Bsymbolic
DYNAMIC_LDFLAGS := -dynamiclib

all: bin lib $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)

PUBLIC_INCLUDES := \
	rubberband/TimeStretcher.h \
	rubberband/RubberBandStretcher.h

LIBRARY_INCLUDES := \
	src/AudioCurve.h \
	src/ConstantAudioCurve.h \
	src/FFT.h \
	src/HighFrequencyAudioCurve.h \
	src/PercussiveAudioCurve.h \
	src/Resampler.h \
	src/RingBuffer.h \
	src/Scavenger.h \
	src/StretchCalculator.h \
	src/StretcherImpl.h \
	src/StretcherChannelData.h \
	src/Thread.h \
	src/Window.h \
	src/sysutils.h

LIBRARY_SOURCES := \
	src/RubberBandStretcher.cpp \
	src/ConstantAudioCurve.cpp \
	src/HighFrequencyAudioCurve.cpp \
	src/PercussiveAudioCurve.cpp \
	src/AudioCurve.cpp \
	src/Resampler.cpp \
	src/StretchCalculator.cpp \
	src/StretcherImpl.cpp \
	src/StretcherProcess.cpp \
	src/StretcherChannelData.cpp \
	src/FFT.cpp \
	src/Thread.cpp \
	src/sysutils.cpp

PROGRAM_SOURCES := \
	src/main.cpp

VAMP_HEADERS := \
	src/vamp/RubberBandVampPlugin.h

VAMP_SOURCES := \
	src/vamp/RubberBandVampPlugin.cpp \
	src/vamp/libmain.cpp

LADSPA_HEADERS := \
	src/ladspa/RubberBandPitchShifter.h

LADSPA_SOURCES := \
	src/ladspa/RubberBandPitchShifter.cpp \
	src/ladspa/libmain.cpp

LIBRARY_OBJECTS := $(LIBRARY_SOURCES:.cpp=.o)
PROGRAM_OBJECTS := $(PROGRAM_SOURCES:.cpp=.o)
VAMP_OBJECTS    := $(VAMP_SOURCES:.cpp=.o)
LADSPA_OBJECTS  := $(LADSPA_SOURCES:.cpp=.o)

$(PROGRAM_TARGET):	$(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS)
	$(CXX) -o $@ $^ $(PROGRAM_LIBS) $(PROGRAM_LIBS) $(LDFLAGS)

$(STATIC_TARGET):	$(LIBRARY_OBJECTS)
	$(AR) rsc $@ $^

$(DYNAMIC_TARGET):	$(LIBRARY_OBJECTS)
	$(CXX) $(DYNAMIC_LDFLAGS) $^ -o $@ $(LIBRARY_LIBS) $(LDFLAGS)

$(VAMP_TARGET):		$(LIBRARY_OBJECTS) $(VAMP_OBJECTS)
	$(CXX) $(DYNAMIC_LDFLAGS) -o $@ $^ $(VAMP_PLUGIN_LIBS) $(LDFLAGS)

$(LADSPA_TARGET):	$(LIBRARY_OBJECTS) $(LADSPA_OBJECTS)
	$(CXX) $(DYNAMIC_LDFLAGS) -o $@ $^ $(LADSPA_PLUGIN_LIBS) $(LDFLAGS)

bin:
	$(MKDIR) $@
lib:
	$(MKDIR) $@

clean:
	rm -f $(LIBRARY_OBJECTS) $(PROGRAM_OBJECTS) $(LADSPA_OBJECTS) $(VAMP_OBJECTS)

distclean:	clean
	rm -f $(PROGRAM_TARGET) $(STATIC_TARGET) $(DYNAMIC_TARGET) $(VAMP_TARGET) $(LADSPA_TARGET)

# DO NOT DELETE

src/AudioCurve.o: src/AudioCurve.h
src/ConstantAudioCurve.o: src/ConstantAudioCurve.h src/AudioCurve.h
src/FFT.o: src/FFT.h src/Thread.h
src/HighFrequencyAudioCurve.o: src/HighFrequencyAudioCurve.h src/AudioCurve.h
src/HighFrequencyAudioCurve.o: src/Window.h
src/main.o: rubberband/RubberBandStretcher.h rubberband/TimeStretcher.h
src/PercussiveAudioCurve.o: src/PercussiveAudioCurve.h src/AudioCurve.h
src/Resampler.o: src/Resampler.h
src/RubberBandStretcher.o: src/StretcherImpl.h
src/RubberBandStretcher.o: rubberband/RubberBandStretcher.h
src/RubberBandStretcher.o: rubberband/TimeStretcher.h src/Window.h
src/RubberBandStretcher.o: src/Thread.h src/RingBuffer.h src/Scavenger.h
src/RubberBandStretcher.o: src/FFT.h src/sysutils.h
src/StretchCalculator.o: src/StretchCalculator.h
src/StretcherChannelData.o: src/StretcherChannelData.h src/StretcherImpl.h
src/StretcherChannelData.o: rubberband/RubberBandStretcher.h
src/StretcherChannelData.o: rubberband/TimeStretcher.h src/Window.h
src/StretcherChannelData.o: src/Thread.h src/RingBuffer.h src/Scavenger.h
src/StretcherChannelData.o: src/FFT.h src/sysutils.h src/Resampler.h
src/StretcherImpl.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h
src/StretcherImpl.o: rubberband/TimeStretcher.h src/Window.h src/Thread.h
src/StretcherImpl.o: src/RingBuffer.h src/Scavenger.h src/FFT.h
src/StretcherImpl.o: src/sysutils.h src/PercussiveAudioCurve.h
src/StretcherImpl.o: src/AudioCurve.h src/HighFrequencyAudioCurve.h
src/StretcherImpl.o: src/ConstantAudioCurve.h src/StretchCalculator.h
src/StretcherImpl.o: src/StretcherChannelData.h src/Resampler.h
src/StretcherProcess.o: src/StretcherImpl.h rubberband/RubberBandStretcher.h
src/StretcherProcess.o: rubberband/TimeStretcher.h src/Window.h src/Thread.h
src/StretcherProcess.o: src/RingBuffer.h src/Scavenger.h src/FFT.h
src/StretcherProcess.o: src/sysutils.h src/PercussiveAudioCurve.h
src/StretcherProcess.o: src/AudioCurve.h src/HighFrequencyAudioCurve.h
src/StretcherProcess.o: src/ConstantAudioCurve.h src/StretchCalculator.h
src/StretcherProcess.o: src/StretcherChannelData.h src/Resampler.h
src/sysutils.o: src/sysutils.h
src/Thread.o: src/Thread.h