comparison src/vamp-plugin-sdk-2.5/build/Makefile.osx @ 23:619f715526df sv_v2.1

Update Vamp plugin SDK to 2.5
author Chris Cannam
date Thu, 09 May 2013 10:52:46 +0100
parents
children
comparison
equal deleted inserted replaced
22:b07fe9e906dc 23:619f715526df
1
2 # Makefile for the Vamp plugin SDK. This builds the SDK objects,
3 # libraries, example plugins, and the test host. Please adjust to
4 # suit your operating system requirements.
5 #
6 # This version of the Makefile is approximately correct for OS/X 10.7.
7 # Note that it has no "install" target; the following are the
8 # library and related files that may be of interest resulting from
9 # the build:
10 #
11 # libvamp-sdk.dylib [SDK dynamic library for plugins]
12 # libvamp-hostsdk.dylib [SDK dynamic library for hosts]
13 #
14 # libvamp-sdk.a [SDK static library for plugins]
15 # libvamp-hostsdk.a [SDK static library for hosts]
16 #
17 # examples/vamp-example-plugins.cat [copy this to your Vamp plugin dir]
18 # examples/vamp-example-plugins.dylib [copy this to your Vamp plugin dir]
19 #
20 # host/vamp-simple-host [requires libsndfile to build]
21 #
22 # rdf/generator/vamp-rdf-template-generator
23
24 # Makefile for the Vamp plugin SDK. This builds the SDK objects,
25 # libraries, example plugins, and the test host. Please adjust to
26 # suit your operating system requirements.
27
28 APIDIR = vamp
29
30 SDKDIR = vamp-sdk
31 HOSTSDKDIR = vamp-hostsdk
32
33 SRCDIR = src
34 SDKSRCDIR = src/vamp-sdk
35 HOSTSDKSRCDIR = src/vamp-hostsdk
36
37 EXAMPLEDIR = examples
38 HOSTDIR = host
39 PCDIR = pkgconfig
40 LADIR = build
41 RDFGENDIR = rdf/generator
42
43 ###
44 ### Start of user-serviceable parts
45 ###
46
47 # Default build target (or use "make <target>" to select one).
48 # Targets are:
49 # all -- build everything
50 # sdk -- build all the Vamp SDK libraries for plugins and hosts
51 # sdkstatic -- build only the static versions of the SDK libraries
52 # plugins -- build the example plugins (and the SDK if required)
53 # host -- build the simple Vamp plugin host (and the SDK if required)
54 # rdfgen -- build the RDF template generator (and the SDK if required)
55 # test -- build the host and example plugins, and run a quick test
56 # clean -- remove binary targets
57 # distclean -- remove all targets
58 #
59 default: all
60
61 # Minimum version of OS/X to target. This will determine the
62 # compiler's choice of platform SDK material
63 MINVERSION := 10.6
64
65 # Our default is to try to build for all architectures supported by
66 # the MINVERSION in a universal binary.
67 #
68 ARCHFLAGS = -mmacosx-version-min=$(MINVERSION) -arch x86_64 -arch i386
69
70 # Compile flags
71 #
72 CFLAGS = $(ARCHFLAGS) -fPIC
73 CXXFLAGS = $(ARCHFLAGS) -O2 -Wall -I. -I../10.6/inst/include -fPIC
74
75 # Link flags common to all link targets
76 #
77 LDFLAGS = $(ARCHFLAGS)
78
79 # ar, ranlib
80 #
81 AR = ar
82 RANLIB = ranlib
83 RM_F = rm -f
84
85 # Libraries required for the plugins.
86 #
87 PLUGIN_LIBS = ./libvamp-sdk.a
88
89 # File extension for a dynamically loadable object
90 #
91 PLUGIN_EXT = .dylib
92
93 # Libraries required for the host.
94 #
95 HOST_LIBS = ./libvamp-hostsdk.a -L../10.6/inst/lib -lsndfile -logg -lvorbis -lvorbisenc -lflac -ldl
96
97 # Libraries required for the RDF template generator.
98 #
99 RDFGEN_LIBS = ./libvamp-hostsdk.a -ldl
100
101 # Flags required to tell the compiler to create a dynamically loadable object
102 #
103 DYNAMIC_LDFLAGS = $(ARCHFLAGS) -dynamiclib
104
105 # Flags for building specific plugin and library targets. We need to
106 # tell the linker the formal name for the library, and for plugins we
107 # also want to tell the linker to make all symbols in the library
108 # hidden except for the public entry point (making for a tidier library).
109 #
110 PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) \
111 -install_name vamp-example-plugins.dylib \
112 -exported_symbols_list build/vamp-plugin.list
113 SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-sdk.dylib
114 HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -install_name libvamp-hostsdk.dylib
115
116
117 ### End of user-serviceable parts
118
119
120 API_HEADERS = \
121 $(APIDIR)/vamp.h
122
123 SDK_HEADERS = \
124 $(SDKDIR)/Plugin.h \
125 $(SDKDIR)/PluginAdapter.h \
126 $(SDKDIR)/PluginBase.h \
127 $(SDKDIR)/RealTime.h \
128 $(SDKDIR)/FFT.h \
129 $(SDKDIR)/plugguard.h \
130 $(SDKDIR)/vamp-sdk.h
131
132 HOSTSDK_HEADERS = \
133 $(HOSTSDKDIR)/Plugin.h \
134 $(HOSTSDKDIR)/PluginBase.h \
135 $(HOSTSDKDIR)/PluginHostAdapter.h \
136 $(HOSTSDKDIR)/RealTime.h \
137 $(HOSTSDKDIR)/PluginBufferingAdapter.h \
138 $(HOSTSDKDIR)/PluginChannelAdapter.h \
139 $(HOSTSDKDIR)/PluginInputDomainAdapter.h \
140 $(HOSTSDKDIR)/PluginLoader.h \
141 $(HOSTSDKDIR)/PluginSummarisingAdapter.h \
142 $(HOSTSDKDIR)/PluginWrapper.h \
143 $(HOSTSDKDIR)/hostguard.h \
144 $(HOSTSDKDIR)/vamp-hostsdk.h
145
146 SDK_OBJECTS = \
147 $(SDKSRCDIR)/PluginAdapter.o \
148 $(SDKSRCDIR)/RealTime.o \
149 $(SDKSRCDIR)/FFT.o \
150 $(SDKSRCDIR)/acsymbols.o
151
152 HOSTSDK_OBJECTS = \
153 $(HOSTSDKSRCDIR)/PluginHostAdapter.o \
154 $(HOSTSDKSRCDIR)/RealTime.o \
155 $(HOSTSDKSRCDIR)/PluginBufferingAdapter.o \
156 $(HOSTSDKSRCDIR)/PluginChannelAdapter.o \
157 $(HOSTSDKSRCDIR)/PluginInputDomainAdapter.o \
158 $(HOSTSDKSRCDIR)/PluginLoader.o \
159 $(HOSTSDKSRCDIR)/PluginSummarisingAdapter.o \
160 $(HOSTSDKSRCDIR)/PluginWrapper.o \
161 $(HOSTSDKSRCDIR)/acsymbols.o
162
163 SDK_STATIC = \
164 ./libvamp-sdk.a
165
166 HOSTSDK_STATIC = \
167 ./libvamp-hostsdk.a
168
169 SDK_DYNAMIC = \
170 ./libvamp-sdk$(PLUGIN_EXT)
171
172 HOSTSDK_DYNAMIC = \
173 ./libvamp-hostsdk$(PLUGIN_EXT)
174
175 SDK_LA = \
176 $(LADIR)/libvamp-sdk.la
177
178 HOSTSDK_LA = \
179 $(LADIR)/libvamp-hostsdk.la
180
181 PLUGIN_HEADERS = \
182 $(EXAMPLEDIR)/SpectralCentroid.h \
183 $(EXAMPLEDIR)/PowerSpectrum.h \
184 $(EXAMPLEDIR)/PercussionOnsetDetector.h \
185 $(EXAMPLEDIR)/FixedTempoEstimator.h \
186 $(EXAMPLEDIR)/AmplitudeFollower.h \
187 $(EXAMPLEDIR)/ZeroCrossing.h
188
189 PLUGIN_OBJECTS = \
190 $(EXAMPLEDIR)/SpectralCentroid.o \
191 $(EXAMPLEDIR)/PowerSpectrum.o \
192 $(EXAMPLEDIR)/PercussionOnsetDetector.o \
193 $(EXAMPLEDIR)/FixedTempoEstimator.o \
194 $(EXAMPLEDIR)/AmplitudeFollower.o \
195 $(EXAMPLEDIR)/ZeroCrossing.o \
196 $(EXAMPLEDIR)/plugins.o
197
198 PLUGIN_TARGET = \
199 $(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT)
200
201 HOST_HEADERS = \
202 $(HOSTDIR)/system.h
203
204 HOST_OBJECTS = \
205 $(HOSTDIR)/vamp-simple-host.o
206
207 HOST_TARGET = \
208 $(HOSTDIR)/vamp-simple-host
209
210 RDFGEN_OBJECTS = \
211 $(RDFGENDIR)/vamp-rdf-template-generator.o
212
213 RDFGEN_TARGET = \
214 $(RDFGENDIR)/vamp-rdf-template-generator
215
216 sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
217
218 sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
219 $(RANLIB) $(SDK_STATIC)
220 $(RANLIB) $(HOSTSDK_STATIC)
221
222 plugins: $(PLUGIN_TARGET)
223
224 host: $(HOST_TARGET)
225
226 rdfgen: $(RDFGEN_TARGET)
227
228 all: sdk plugins host rdfgen test
229
230 $(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
231 $(RM_F) $@
232 $(AR) r $@ $(SDK_OBJECTS)
233
234 $(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
235 $(RM_F) $@
236 $(AR) r $@ $(HOSTSDK_OBJECTS)
237
238 $(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
239 $(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS)
240
241 $(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
242 $(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS)
243
244 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS)
245 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
246
247 $(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
248 $(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
249
250 $(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
251 $(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
252
253 test: plugins host
254 VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
255
256 clean:
257 rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
258
259 distclean: clean
260 rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
261
262 # DO NOT DELETE
263
264 examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
265 examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
266 examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
267 examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
268 examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
269 examples/FixedTempoEstimator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
270 examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
271 examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
272 examples/PercussionOnsetDetector.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
273 examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
274 examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
275 examples/SpectralCentroid.o: vamp-sdk/RealTime.h
276 examples/PowerSpectrum.o: examples/PowerSpectrum.h vamp-sdk/Plugin.h
277 examples/PowerSpectrum.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
278 examples/PowerSpectrum.o: vamp-sdk/RealTime.h
279 examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
280 examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
281 examples/ZeroCrossing.o: vamp-sdk/RealTime.h
282 examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
283 examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
284 examples/plugins.o: vamp-sdk/RealTime.h examples/ZeroCrossing.h
285 examples/plugins.o: vamp-sdk/Plugin.h examples/SpectralCentroid.h
286 examples/plugins.o: examples/PercussionOnsetDetector.h examples/PowerSpectrum.h
287 examples/plugins.o: examples/FixedTempoEstimator.h
288 examples/plugins.o: examples/AmplitudeFollower.h
289 host/vamp-simple-host.o: ./vamp-hostsdk/PluginHostAdapter.h vamp/vamp.h
290 host/vamp-simple-host.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
291 host/vamp-simple-host.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
292 host/vamp-simple-host.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
293 host/vamp-simple-host.o: ./vamp-hostsdk/PluginWrapper.h
294 host/vamp-simple-host.o: ./vamp-hostsdk/Plugin.h ./vamp-hostsdk/hostguard.h
295 host/vamp-simple-host.o: vamp-sdk/Plugin.h
296 host/vamp-simple-host.o: ./vamp-hostsdk/PluginLoader.h host/system.h
297 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginHostAdapter.h
298 rdf/generator/vamp-rdf-template-generator.o: vamp/vamp.h vamp-sdk/Plugin.h
299 rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/PluginBase.h
300 rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
301 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginChannelAdapter.h
302 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginWrapper.h
303 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/Plugin.h
304 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/hostguard.h
305 rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/Plugin.h
306 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
307 rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginLoader.h
308 src/vamp-hostsdk/PluginHostAdapter.o: ./vamp-hostsdk/PluginHostAdapter.h
309 src/vamp-hostsdk/PluginHostAdapter.o: vamp/vamp.h vamp-sdk/Plugin.h
310 src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/PluginBase.h
311 src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/plugguard.h
312 src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
313 src/vamp-hostsdk/RealTime.o: src/vamp-sdk/RealTime.cpp ./vamp-sdk/RealTime.h
314 src/vamp-hostsdk/RealTime.o: vamp-sdk/plugguard.h
315 src/vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
316 src/vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
317 src/vamp-sdk/PluginAdapter.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
318 src/vamp-sdk/RealTime.o: ./vamp-sdk/RealTime.h vamp-sdk/plugguard.h
319 src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginBufferingAdapter.h
320 src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
321 src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/Plugin.h
322 src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/hostguard.h
323 src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
324 src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
325 src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/plugguard.h
326 src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
327 src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginChannelAdapter.h
328 src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginWrapper.h
329 src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/Plugin.h
330 src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/hostguard.h
331 src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/Plugin.h
332 src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
333 src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/plugguard.h
334 src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/RealTime.h
335 src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
336 src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginWrapper.h
337 src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/Plugin.h
338 src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/hostguard.h
339 src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
340 src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
341 src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/plugguard.h
342 src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
343 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginHostAdapter.h
344 src/vamp-hostsdk/PluginLoader.o: vamp/vamp.h vamp-sdk/Plugin.h
345 src/vamp-hostsdk/PluginLoader.o: vamp-sdk/PluginBase.h
346 src/vamp-hostsdk/PluginLoader.o: vamp-sdk/plugguard.h
347 src/vamp-hostsdk/PluginLoader.o: vamp-sdk/RealTime.h
348 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginLoader.h
349 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginWrapper.h
350 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/Plugin.h
351 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/hostguard.h
352 src/vamp-hostsdk/PluginLoader.o: vamp-sdk/Plugin.h
353 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
354 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginChannelAdapter.h
355 src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginBufferingAdapter.h
356 src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginSummarisingAdapter.h
357 src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
358 src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/Plugin.h
359 src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/hostguard.h
360 src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/Plugin.h
361 src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/PluginBase.h
362 src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/plugguard.h
363 src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/RealTime.h
364 src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/PluginWrapper.h
365 src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/Plugin.h
366 src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/hostguard.h
367 src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/Plugin.h
368 src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/PluginBase.h
369 src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/plugguard.h
370 src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/RealTime.h