comparison Makefile @ 230:5ee166dccfff distinct-libraries

* Add include guards; make code compile!
author cannam
date Fri, 07 Nov 2008 14:11:39 +0000
parents 5ee5f0100adb
children 90e3acb4a728
comparison
equal deleted inserted replaced
229:3451f7dfa2be 230:5ee166dccfff
2 # Makefile for the Vamp plugin SDK. This builds the SDK objects, 2 # Makefile for the Vamp plugin SDK. This builds the SDK objects,
3 # libraries, example plugins, and the test host. Please adjust to 3 # libraries, example plugins, and the test host. Please adjust to
4 # suit your operating system requirements. 4 # suit your operating system requirements.
5 5
6 APIDIR = vamp 6 APIDIR = vamp
7
7 SDKDIR = vamp-sdk 8 SDKDIR = vamp-sdk
8 HOSTEXTDIR = vamp-sdk/hostext 9 HOSTSDKDIR = vamp-hostsdk
10 HOSTEXTDIR = vamp-hostsdk/hostext
11
12 SRCDIR = src
13 SDKSRCDIR = src/vamp-sdk
14 HOSTSDKSRCDIR = src/vamp-hostsdk
15 HOSTEXTSRCDIR = src/vamp-hostsdk/hostext
16
9 EXAMPLEDIR = examples 17 EXAMPLEDIR = examples
10 HOSTDIR = host 18 HOSTDIR = host
11 19
12 ### 20 ###
13 ### Start of user-serviceable parts 21 ### Start of user-serviceable parts
35 AR := ar 43 AR := ar
36 RANLIB := ranlib 44 RANLIB := ranlib
37 45
38 # Libraries required for the plugins. 46 # Libraries required for the plugins.
39 # 47 #
40 PLUGIN_LIBS = $(SDKDIR)/libvamp-sdk.a 48 PLUGIN_LIBS = $(SRCDIR)/libvamp-sdk.a
41 49
42 # File extension for a dynamically loadable object 50 # File extension for a dynamically loadable object
43 # 51 #
44 PLUGIN_EXT = .so 52 PLUGIN_EXT = .so
45 #PLUGIN_EXT = .dll 53 #PLUGIN_EXT = .dll
46 #PLUGIN_EXT = .dylib 54 #PLUGIN_EXT = .dylib
47 55
48 # Libraries required for the host. 56 # Libraries required for the host.
49 # 57 #
50 HOST_LIBS = $(SDKDIR)/libvamp-hostsdk.a -lsndfile -ldl 58 HOST_LIBS = $(SRCDIR)/libvamp-hostsdk.a -lsndfile -ldl
51 59
52 # Locations for "make install". This will need quite a bit of 60 # Locations for "make install". This will need quite a bit of
53 # editing for non-Linux platforms. Of course you don't necessarily 61 # editing for non-Linux platforms. Of course you don't necessarily
54 # have to use "make install". 62 # have to use "make install".
55 # 63 #
80 HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LINK_ABI) 88 HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LINK_ABI)
81 89
82 # Additional flags for making a plugin. This version script tells the 90 # Additional flags for making a plugin. This version script tells the
83 # GNU linker to make all symbols in the library hidden except for the 91 # GNU linker to make all symbols in the library hidden except for the
84 # public entry point. It's not essential, but makes a tidier library. 92 # public entry point. It's not essential, but makes a tidier library.
85 PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=vamp-plugin.map 93 PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=build/vamp-plugin.map
86 94
87 95
88 ## For OS/X with g++: 96 ## For OS/X with g++:
89 #DYNAMIC_LDFLAGS = -dynamiclib 97 #DYNAMIC_LDFLAGS = -dynamiclib
90 #PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) 98 #PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS)
103 $(SDKDIR)/PluginAdapter.h \ 111 $(SDKDIR)/PluginAdapter.h \
104 $(SDKDIR)/PluginBase.h \ 112 $(SDKDIR)/PluginBase.h \
105 $(SDKDIR)/RealTime.h 113 $(SDKDIR)/RealTime.h
106 114
107 HOSTSDK_HEADERS = \ 115 HOSTSDK_HEADERS = \
108 $(SDKDIR)/Plugin.h \ 116 $(HOSTSDKDIR)/Plugin.h \
109 $(SDKDIR)/PluginBase.h \ 117 $(HOSTSDKDIR)/PluginBase.h \
110 $(SDKDIR)/PluginHostAdapter.h \ 118 $(HOSTSDKDIR)/PluginHostAdapter.h \
111 $(SDKDIR)/RealTime.h 119 $(HOSTSDKDIR)/RealTime.h
112 120
113 HOSTEXT_HEADERS = \ 121 HOSTEXT_HEADERS = \
114 $(HOSTEXTDIR)/PluginBufferingAdapter.h \ 122 $(HOSTEXTDIR)/PluginBufferingAdapter.h \
115 $(HOSTEXTDIR)/PluginChannelAdapter.h \ 123 $(HOSTEXTDIR)/PluginChannelAdapter.h \
116 $(HOSTEXTDIR)/PluginInputDomainAdapter.h \ 124 $(HOSTEXTDIR)/PluginInputDomainAdapter.h \
117 $(HOSTEXTDIR)/PluginLoader.h \ 125 $(HOSTEXTDIR)/PluginLoader.h \
118 $(HOSTEXTDIR)/PluginSummarisingAdapter.h \ 126 $(HOSTEXTDIR)/PluginSummarisingAdapter.h \
119 $(HOSTEXTDIR)/PluginWrapper.h 127 $(HOSTEXTDIR)/PluginWrapper.h
120 128
121 SDK_OBJECTS = \ 129 SDK_OBJECTS = \
122 $(SDKDIR)/PluginAdapter.o \ 130 $(SDKSRCDIR)/PluginAdapter.o \
123 $(SDKDIR)/RealTime.o 131 $(SDKSRCDIR)/RealTime.o
124 132
125 HOSTSDK_OBJECTS = \ 133 HOSTSDK_OBJECTS = \
126 $(SDKDIR)/PluginHostAdapter.o \ 134 $(HOSTSDKSRCDIR)/PluginHostAdapter.o \
127 $(HOSTEXTDIR)/PluginBufferingAdapter.o \ 135 $(HOSTSDKSRCDIR)/RealTime.o \
128 $(HOSTEXTDIR)/PluginChannelAdapter.o \ 136 $(HOSTEXTSRCDIR)/PluginBufferingAdapter.o \
129 $(HOSTEXTDIR)/PluginInputDomainAdapter.o \ 137 $(HOSTEXTSRCDIR)/PluginChannelAdapter.o \
130 $(HOSTEXTDIR)/PluginLoader.o \ 138 $(HOSTEXTSRCDIR)/PluginInputDomainAdapter.o \
131 $(HOSTEXTDIR)/PluginSummarisingAdapter.o \ 139 $(HOSTEXTSRCDIR)/PluginLoader.o \
132 $(HOSTEXTDIR)/PluginWrapper.o \ 140 $(HOSTEXTSRCDIR)/PluginSummarisingAdapter.o \
133 $(SDKDIR)/RealTime.o 141 $(HOSTEXTSRCDIR)/PluginWrapper.o
134 142
135 SDK_STATIC = \ 143 SDK_STATIC = \
136 $(SDKDIR)/libvamp-sdk.a 144 $(SRCDIR)/libvamp-sdk.a
137 145
138 HOSTSDK_STATIC = \ 146 HOSTSDK_STATIC = \
139 $(SDKDIR)/libvamp-hostsdk.a 147 $(SRCDIR)/libvamp-hostsdk.a
140 148
141 SDK_DYNAMIC = \ 149 SDK_DYNAMIC = \
142 $(SDKDIR)/libvamp-sdk$(PLUGIN_EXT) 150 $(SRCDIR)/libvamp-sdk$(PLUGIN_EXT)
143 151
144 HOSTSDK_DYNAMIC = \ 152 HOSTSDK_DYNAMIC = \
145 $(SDKDIR)/libvamp-hostsdk$(PLUGIN_EXT) 153 $(SRCDIR)/libvamp-hostsdk$(PLUGIN_EXT)
146 154
147 SDK_LA = \ 155 SDK_LA = \
148 $(SDKDIR)/libvamp-sdk.la 156 $(SRCDIR)/libvamp-sdk.la
149 157
150 HOSTSDK_LA = \ 158 HOSTSDK_LA = \
151 $(SDKDIR)/libvamp-hostsdk.la 159 $(SRCDIR)/libvamp-hostsdk.la
152 160
153 PLUGIN_HEADERS = \ 161 PLUGIN_HEADERS = \
154 $(EXAMPLEDIR)/SpectralCentroid.h \ 162 $(EXAMPLEDIR)/SpectralCentroid.h \
155 $(EXAMPLEDIR)/PercussionOnsetDetector.h \ 163 $(EXAMPLEDIR)/PercussionOnsetDetector.h \
156 $(EXAMPLEDIR)/FixedTempoEstimator.h \ 164 $(EXAMPLEDIR)/FixedTempoEstimator.h \
255 -e "s,%LINK_DEV%,$(INSTALL_HOSTSDK_LINK_DEV),g" \ 263 -e "s,%LINK_DEV%,$(INSTALL_HOSTSDK_LINK_DEV),g" \
256 -e "s,%STATIC%,$(INSTALL_HOSTSDK_STATIC),g" \ 264 -e "s,%STATIC%,$(INSTALL_HOSTSDK_STATIC),g" \
257 -e "s,%LIBS%,$(INSTALL_SDK_LIBS),g" $(HOSTSDK_LA).in \ 265 -e "s,%LIBS%,$(INSTALL_SDK_LIBS),g" $(HOSTSDK_LA).in \
258 > $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LA) 266 > $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LA)
259 267
260 # DO NOT DELETE
261
262 examples/AmplitudeFollower.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
263 examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
264 examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
265 examples/PercussionOnsetDetector.o: vamp-sdk/RealTime.h
266 examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
267 examples/FixedTempoEstimator.o: vamp-sdk/RealTime.h
268 examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
269 examples/SpectralCentroid.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
270 examples/SpectralCentroid.o: vamp-sdk/RealTime.h
271 examples/ZeroCrossing.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
272 examples/ZeroCrossing.o: vamp-sdk/RealTime.h
273 vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
274 vamp-sdk/PluginAdapter.o: vamp-sdk/RealTime.h
275 vamp-sdk/Plugin.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
276 vamp-sdk/PluginHostAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
277 vamp-sdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
278 examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
279 examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
280 examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
281 examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
282 examples/PercussionOnsetDetector.o: vamp-sdk/RealTime.h
283 examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
284 examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
285 examples/plugins.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
286 examples/plugins.o: examples/SpectralCentroid.h
287 examples/plugins.o: examples/PercussionOnsetDetector.h
288 examples/plugins.o: examples/FixedTempoEstimator.h
289 examples/plugins.o: examples/AmplitudeFollower.h
290 examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
291 examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
292 examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
293 examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
294 host/vamp-simple-host.o: vamp-sdk/PluginHostAdapter.h vamp-sdk/Plugin.h
295 host/vamp-simple-host.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h
296 host/vamp-simple-host.o: vamp-sdk/hostext/PluginChannelAdapter.h
297 host/vamp-simple-host.o: vamp-sdk/hostext/PluginWrapper.h
298 host/vamp-simple-host.o: vamp-sdk/hostext/PluginInputDomainAdapter.h
299 host/vamp-simple-host.o: vamp-sdk/hostext/PluginLoader.h vamp/vamp.h
300 host/vamp-simple-host.o: host/system.h
301 vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
302 vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
303 vamp-sdk/PluginAdapter.o: vamp-sdk/RealTime.h
304 vamp-sdk/PluginHostAdapter.o: vamp-sdk/PluginHostAdapter.h vamp/vamp.h
305 vamp-sdk/PluginHostAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
306 vamp-sdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
307 vamp-sdk/RealTime.o: vamp-sdk/RealTime.h
308 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginWrapper.h
309 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
310 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
311 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
312 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginWrapper.h
313 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/Plugin.h
314 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
315 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/RealTime.h
316 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginWrapper.h
317 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
318 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
319 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
320 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginWrapper.h
321 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
322 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/RealTime.h
323 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
324 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/RealTime.h
325 rdf/generator/template-generator.o: vamp-sdk/PluginHostAdapter.h
326 rdf/generator/template-generator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
327 rdf/generator/template-generator.o: vamp-sdk/RealTime.h
328 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginChannelAdapter.h
329 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginWrapper.h
330 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginInputDomainAdapter.h
331 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginLoader.h
332 rdf/generator/template-generator.o: vamp/vamp.h
333 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginBufferingAdapter.h
334 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginWrapper.h
335 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
336 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
337 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
338 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginChannelAdapter.h
339 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginWrapper.h
340 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/Plugin.h
341 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
342 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/RealTime.h
343 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginInputDomainAdapter.h
344 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginWrapper.h
345 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
346 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
347 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
348 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/PluginHostAdapter.h
349 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
350 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/RealTime.h
351 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginLoader.h
352 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginWrapper.h
353 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginInputDomainAdapter.h
354 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginChannelAdapter.h
355 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginBufferingAdapter.h
356 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/hostext/PluginWrapper.h
357 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
358 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/RealTime.h