| cannam@0 | 1 | 
| cannam@10 | 2 # Makefile for the Vamp plugin SDK.  This builds the SDK objects, | 
| cannam@51 | 3 # libraries, example plugins, and the test host.  Please adjust to | 
| cannam@51 | 4 # suit your operating system requirements. | 
| cannam@0 | 5 | 
| cannam@64 | 6 APIDIR		= vamp | 
| cannam@10 | 7 SDKDIR		= vamp-sdk | 
| cannam@64 | 8 HOSTEXTDIR      = vamp-sdk/hostext | 
| cannam@10 | 9 EXAMPLEDIR	= examples | 
| cannam@10 | 10 HOSTDIR		= host | 
| cannam@1 | 11 | 
| cannam@64 | 12 ### | 
| cannam@64 | 13 ### Start of user-serviceable parts | 
| cannam@64 | 14 ### | 
| cannam@0 | 15 | 
| cannam@64 | 16 # Default build target (or use "make <target>" to select one). | 
| cannam@64 | 17 # Targets are: | 
| cannam@64 | 18 #   all       -- build everything | 
| cannam@64 | 19 #   sdk       -- build all the Vamp SDK libraries for plugins and hosts | 
| cannam@82 | 20 #   sdkstatic -- build only the static versions of the SDK libraries | 
| cannam@64 | 21 #   plugins   -- build the example plugins (and the SDK if required) | 
| cannam@64 | 22 #   host      -- build the simple Vamp plugin host (and the SDK if required) | 
| cannam@64 | 23 #   test      -- build the host and example plugins, and run a quick test | 
| cannam@64 | 24 #   clean     -- remove binary targets | 
| cannam@64 | 25 #   distclean -- remove all targets | 
| cannam@64 | 26 # | 
| cannam@64 | 27 default:	all | 
| cannam@64 | 28 | 
| cannam@64 | 29 # Compile flags | 
| cannam@64 | 30 # | 
| cannam@168 | 31 CXXFLAGS	:= $(CXXFLAGS) -g -Wall -I. -fPIC | 
| cannam@64 | 32 | 
| cannam@89 | 33 # ar, ranlib | 
| cannam@89 | 34 # | 
| cannam@89 | 35 AR		:= ar | 
| cannam@89 | 36 RANLIB		:= ranlib | 
| cannam@89 | 37 | 
| cannam@64 | 38 # Libraries required for the plugins. | 
| cannam@64 | 39 # | 
| cannam@167 | 40 PLUGIN_LIBS	= $(SDKDIR)/libvamp-sdk.a | 
| cannam@64 | 41 | 
| cannam@64 | 42 # File extension for a dynamically loadable object | 
| cannam@64 | 43 # | 
| cannam@64 | 44 PLUGIN_EXT	= .so | 
| cannam@89 | 45 #PLUGIN_EXT	= .dll | 
| cannam@64 | 46 #PLUGIN_EXT	= .dylib | 
| cannam@64 | 47 | 
| cannam@64 | 48 # Libraries required for the host. | 
| cannam@64 | 49 # | 
| cannam@64 | 50 HOST_LIBS	= $(SDKDIR)/libvamp-hostsdk.a -lsndfile -ldl | 
| cannam@1 | 51 | 
| cannam@32 | 52 # Locations for "make install".  This will need quite a bit of | 
| cannam@32 | 53 # editing for non-Linux platforms.  Of course you don't necessarily | 
| cannam@32 | 54 # have to use "make install". | 
| cannam@32 | 55 # | 
| cannam@162 | 56 INSTALL_PREFIX	 	  := /usr/local | 
| cannam@51 | 57 INSTALL_API_HEADERS	  := $(INSTALL_PREFIX)/include/vamp | 
| cannam@51 | 58 INSTALL_SDK_HEADERS	  := $(INSTALL_PREFIX)/include/vamp-sdk | 
| cannam@64 | 59 INSTALL_HOSTEXT_HEADERS	  := $(INSTALL_PREFIX)/include/vamp-sdk/hostext | 
| cannam@51 | 60 INSTALL_SDK_LIBS	  := $(INSTALL_PREFIX)/lib | 
| cannam@51 | 61 | 
| cannam@168 | 62 INSTALL_SDK_LIBNAME	  := libvamp-sdk.so.2.0.0 | 
| cannam@168 | 63 INSTALL_SDK_LINK_ABI	  := libvamp-sdk.so.2 | 
| cannam@51 | 64 INSTALL_SDK_LINK_DEV	  := libvamp-sdk.so | 
| cannam@51 | 65 INSTALL_SDK_STATIC        := libvamp-sdk.a | 
| cannam@51 | 66 INSTALL_SDK_LA            := libvamp-sdk.la | 
| cannam@51 | 67 | 
| cannam@168 | 68 INSTALL_HOSTSDK_LIBNAME   := libvamp-hostsdk.so.3.0.0 | 
| cannam@168 | 69 INSTALL_HOSTSDK_LINK_ABI  := libvamp-hostsdk.so.3 | 
| cannam@51 | 70 INSTALL_HOSTSDK_LINK_DEV  := libvamp-hostsdk.so | 
| cannam@51 | 71 INSTALL_HOSTSDK_STATIC    := libvamp-hostsdk.a | 
| cannam@51 | 72 INSTALL_HOSTSDK_LA        := libvamp-hostsdk.la | 
| cannam@51 | 73 | 
| cannam@51 | 74 INSTALL_PKGCONFIG	  := $(INSTALL_PREFIX)/lib/pkgconfig | 
| cannam@32 | 75 | 
| cannam@81 | 76 # Flags required to tell the compiler to create a dynamically loadable object | 
| cannam@81 | 77 # | 
| cannam@160 | 78 DYNAMIC_LDFLAGS		= -static-libgcc -shared -Wl,-Bsymbolic | 
| cannam@107 | 79 SDK_DYNAMIC_LDFLAGS	= $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_SDK_LINK_ABI) | 
| cannam@107 | 80 HOSTSDK_DYNAMIC_LDFLAGS	= $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LINK_ABI) | 
| cannam@81 | 81 | 
| cannam@162 | 82 # Additional flags for making a plugin.  This version script tells the | 
| cannam@162 | 83 # GNU linker to make all symbols in the library hidden except for the | 
| cannam@162 | 84 # public entry point.  It's not essential, but makes a tidier library. | 
| cannam@162 | 85 PLUGIN_LDFLAGS		= $(DYNAMIC_LDFLAGS) -Wl,--version-script=vamp-plugin.map | 
| cannam@162 | 86 | 
| cannam@162 | 87 | 
| cannam@81 | 88 ## For OS/X with g++: | 
| cannam@94 | 89 #DYNAMIC_LDFLAGS		= -dynamiclib | 
| cannam@94 | 90 #PLUGIN_LDFLAGS			= $(DYNAMIC_LDFLAGS) | 
| cannam@94 | 91 #SDK_DYNAMIC_LDFLAGS		= $(DYNAMIC_LDFLAGS) | 
| cannam@94 | 92 #HOSTSDK_DYNAMIC_LDFLAGS	= $(DYNAMIC_LDFLAGS) | 
| cannam@81 | 93 | 
| cannam@81 | 94 | 
| cannam@10 | 95 ### End of user-serviceable parts | 
| cannam@10 | 96 | 
| cannam@32 | 97 | 
| cannam@20 | 98 API_HEADERS	= \ | 
| cannam@20 | 99 		$(APIDIR)/vamp.h | 
| cannam@20 | 100 | 
| cannam@20 | 101 SDK_HEADERS	= \ | 
| cannam@20 | 102 		$(SDKDIR)/Plugin.h \ | 
| cannam@20 | 103 		$(SDKDIR)/PluginAdapter.h \ | 
| cannam@20 | 104 		$(SDKDIR)/PluginBase.h \ | 
| cannam@51 | 105 		$(SDKDIR)/RealTime.h | 
| cannam@51 | 106 | 
| cannam@51 | 107 HOSTSDK_HEADERS	= \ | 
| cannam@51 | 108 		$(SDKDIR)/Plugin.h \ | 
| cannam@51 | 109 		$(SDKDIR)/PluginBase.h \ | 
| cannam@20 | 110 		$(SDKDIR)/PluginHostAdapter.h \ | 
| cannam@20 | 111 		$(SDKDIR)/RealTime.h | 
| cannam@20 | 112 | 
| cannam@64 | 113 HOSTEXT_HEADERS = \ | 
| cannam@92 | 114 		$(HOSTEXTDIR)/PluginBufferingAdapter.h \ | 
| cannam@64 | 115 		$(HOSTEXTDIR)/PluginChannelAdapter.h \ | 
| cannam@64 | 116 		$(HOSTEXTDIR)/PluginInputDomainAdapter.h \ | 
| cannam@64 | 117 		$(HOSTEXTDIR)/PluginLoader.h \ | 
| cannam@64 | 118 		$(HOSTEXTDIR)/PluginWrapper.h | 
| cannam@64 | 119 | 
| cannam@11 | 120 SDK_OBJECTS	= \ | 
| cannam@11 | 121 		$(SDKDIR)/PluginAdapter.o \ | 
| cannam@51 | 122 		$(SDKDIR)/RealTime.o | 
| cannam@51 | 123 | 
| cannam@51 | 124 HOSTSDK_OBJECTS	= \ | 
| cannam@11 | 125 		$(SDKDIR)/PluginHostAdapter.o \ | 
| cannam@92 | 126 		$(HOSTEXTDIR)/PluginBufferingAdapter.o \ | 
| cannam@64 | 127 		$(HOSTEXTDIR)/PluginChannelAdapter.o \ | 
| cannam@64 | 128 		$(HOSTEXTDIR)/PluginInputDomainAdapter.o \ | 
| cannam@64 | 129 		$(HOSTEXTDIR)/PluginLoader.o \ | 
| cannam@64 | 130 		$(HOSTEXTDIR)/PluginWrapper.o \ | 
| cannam@11 | 131 		$(SDKDIR)/RealTime.o | 
| cannam@11 | 132 | 
| cannam@32 | 133 SDK_STATIC	= \ | 
| cannam@11 | 134 		$(SDKDIR)/libvamp-sdk.a | 
| cannam@10 | 135 | 
| cannam@51 | 136 HOSTSDK_STATIC	= \ | 
| cannam@51 | 137 		$(SDKDIR)/libvamp-hostsdk.a | 
| cannam@51 | 138 | 
| cannam@32 | 139 SDK_DYNAMIC	= \ | 
| cannam@94 | 140 		$(SDKDIR)/libvamp-sdk$(PLUGIN_EXT) | 
| cannam@32 | 141 | 
| cannam@51 | 142 HOSTSDK_DYNAMIC	= \ | 
| cannam@94 | 143 		$(SDKDIR)/libvamp-hostsdk$(PLUGIN_EXT) | 
| cannam@51 | 144 | 
| cannam@33 | 145 SDK_LA		= \ | 
| cannam@33 | 146 		$(SDKDIR)/libvamp-sdk.la | 
| cannam@33 | 147 | 
| cannam@86 | 148 HOSTSDK_LA	= \ | 
| cannam@86 | 149 		$(SDKDIR)/libvamp-hostsdk.la | 
| cannam@86 | 150 | 
| cannam@20 | 151 PLUGIN_HEADERS	= \ | 
| cannam@20 | 152 		$(EXAMPLEDIR)/SpectralCentroid.h \ | 
| cannam@35 | 153 		$(EXAMPLEDIR)/PercussionOnsetDetector.h \ | 
| cannam@41 | 154 		$(EXAMPLEDIR)/AmplitudeFollower.h \ | 
| cannam@20 | 155 		$(EXAMPLEDIR)/ZeroCrossing.h | 
| cannam@20 | 156 | 
| cannam@10 | 157 PLUGIN_OBJECTS	= \ | 
| cannam@20 | 158 		$(EXAMPLEDIR)/SpectralCentroid.o \ | 
| cannam@35 | 159 		$(EXAMPLEDIR)/PercussionOnsetDetector.o \ | 
| cannam@41 | 160 		$(EXAMPLEDIR)/AmplitudeFollower.o \ | 
| cannam@10 | 161 		$(EXAMPLEDIR)/ZeroCrossing.o \ | 
| cannam@10 | 162 		$(EXAMPLEDIR)/plugins.o | 
| cannam@10 | 163 | 
| cannam@10 | 164 PLUGIN_TARGET	= \ | 
| cannam@21 | 165 		$(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT) | 
| cannam@10 | 166 | 
| cannam@20 | 167 HOST_HEADERS	= \ | 
| cannam@20 | 168 		$(HOSTDIR)/system.h | 
| cannam@20 | 169 | 
| cannam@10 | 170 HOST_OBJECTS	= \ | 
| cannam@22 | 171 		$(HOSTDIR)/vamp-simple-host.o | 
| cannam@10 | 172 | 
| cannam@10 | 173 HOST_TARGET	= \ | 
| cannam@22 | 174 		$(HOSTDIR)/vamp-simple-host | 
| cannam@10 | 175 | 
| cannam@89 | 176 sdk:		sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC) | 
| cannam@64 | 177 | 
| cannam@82 | 178 sdkstatic:	$(SDK_STATIC) $(HOSTSDK_STATIC) | 
| cannam@89 | 179 		$(RANLIB) $(SDK_STATIC) | 
| cannam@89 | 180 		$(RANLIB) $(HOSTSDK_STATIC) | 
| cannam@82 | 181 | 
| cannam@64 | 182 plugins:	$(PLUGIN_TARGET) | 
| cannam@64 | 183 | 
| cannam@64 | 184 host:		$(HOST_TARGET) | 
| cannam@64 | 185 | 
| cannam@64 | 186 all:		sdk plugins host test | 
| cannam@11 | 187 | 
| cannam@32 | 188 $(SDK_STATIC):	$(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) | 
| cannam@20 | 189 		$(AR) r $@ $(SDK_OBJECTS) | 
| cannam@10 | 190 | 
| cannam@64 | 191 $(HOSTSDK_STATIC):	$(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) $(HOSTEXT_HEADERS) | 
| cannam@51 | 192 		$(AR) r $@ $(HOSTSDK_OBJECTS) | 
| cannam@51 | 193 | 
| cannam@32 | 194 $(SDK_DYNAMIC):	$(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS) | 
| cannam@81 | 195 		$(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS) | 
| cannam@32 | 196 | 
| cannam@64 | 197 $(HOSTSDK_DYNAMIC):	$(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS) $(HOSTEXT_HEADERS) | 
| cannam@81 | 198 		$(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS) | 
| cannam@51 | 199 | 
| cannam@64 | 200 $(PLUGIN_TARGET):	$(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS) | 
| cannam@20 | 201 		$(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) | 
| cannam@10 | 202 | 
| cannam@64 | 203 $(HOST_TARGET):	$(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS) | 
| cannam@20 | 204 		$(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS) | 
| cannam@10 | 205 | 
| cannam@64 | 206 test:		plugins host | 
| cannam@64 | 207 		VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l | 
| cannam@10 | 208 | 
| cannam@10 | 209 clean: | 
| cannam@51 | 210 		rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) | 
| cannam@10 | 211 | 
| cannam@33 | 212 distclean:	clean | 
| cannam@51 | 213 		rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) *~ */*~ | 
| cannam@33 | 214 | 
| cannam@51 | 215 install:	$(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) | 
| cannam@96 | 216 		mkdir -p $(DESTDIR)$(INSTALL_API_HEADERS) | 
| cannam@96 | 217 		mkdir -p $(DESTDIR)$(INSTALL_SDK_HEADERS) | 
| cannam@96 | 218 		mkdir -p $(DESTDIR)$(INSTALL_HOSTEXT_HEADERS) | 
| cannam@96 | 219 		mkdir -p $(DESTDIR)$(INSTALL_SDK_LIBS) | 
| cannam@96 | 220 		mkdir -p $(DESTDIR)$(INSTALL_PKGCONFIG) | 
| cannam@96 | 221 		cp $(API_HEADERS) $(DESTDIR)$(INSTALL_API_HEADERS) | 
| cannam@96 | 222 		cp $(SDK_HEADERS) $(DESTDIR)$(INSTALL_SDK_HEADERS) | 
| cannam@96 | 223 		cp $(HOSTSDK_HEADERS) $(DESTDIR)$(INSTALL_SDK_HEADERS) | 
| cannam@96 | 224 		cp $(HOSTEXT_HEADERS) $(DESTDIR)$(INSTALL_HOSTEXT_HEADERS) | 
| cannam@96 | 225 		cp $(SDK_STATIC) $(DESTDIR)$(INSTALL_SDK_LIBS) | 
| cannam@96 | 226 		cp $(HOSTSDK_STATIC) $(DESTDIR)$(INSTALL_SDK_LIBS) | 
| cannam@96 | 227 		cp $(SDK_DYNAMIC) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LIBNAME) | 
| cannam@96 | 228 		cp $(HOSTSDK_DYNAMIC) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LIBNAME) | 
| cannam@96 | 229 		rm -f $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LINK_ABI) | 
| cannam@96 | 230 		ln -s $(INSTALL_SDK_LIBNAME) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LINK_ABI) | 
| cannam@96 | 231 		rm -f $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LINK_ABI) | 
| cannam@96 | 232 		ln -s $(INSTALL_HOSTSDK_LIBNAME) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LINK_ABI) | 
| cannam@96 | 233 		rm -f $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LINK_DEV) | 
| cannam@96 | 234 		ln -s $(INSTALL_SDK_LIBNAME) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LINK_DEV) | 
| cannam@96 | 235 		rm -f $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LINK_DEV) | 
| cannam@96 | 236 		ln -s $(INSTALL_HOSTSDK_LIBNAME) $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LINK_DEV) | 
| cannam@33 | 237 		sed "s,%PREFIX%,$(INSTALL_PREFIX)," $(APIDIR)/vamp.pc.in \ | 
| cannam@96 | 238 		> $(DESTDIR)$(INSTALL_PKGCONFIG)/vamp.pc | 
| cannam@33 | 239 		sed "s,%PREFIX%,$(INSTALL_PREFIX)," $(SDKDIR)/vamp-sdk.pc.in \ | 
| cannam@96 | 240 		> $(DESTDIR)$(INSTALL_PKGCONFIG)/vamp-sdk.pc | 
| cannam@51 | 241 		sed "s,%PREFIX%,$(INSTALL_PREFIX)," $(SDKDIR)/vamp-hostsdk.pc.in \ | 
| cannam@96 | 242 		> $(DESTDIR)$(INSTALL_PKGCONFIG)/vamp-hostsdk.pc | 
| cannam@33 | 243 		sed -e "s,%LIBNAME%,$(INSTALL_SDK_LIBNAME),g" \ | 
| cannam@33 | 244 		    -e "s,%LINK_ABI%,$(INSTALL_SDK_LINK_ABI),g" \ | 
| cannam@33 | 245 		    -e "s,%LINK_DEV%,$(INSTALL_SDK_LINK_DEV),g" \ | 
| cannam@33 | 246 		    -e "s,%STATIC%,$(INSTALL_SDK_STATIC),g" \ | 
| cannam@34 | 247 		    -e "s,%LIBS%,$(INSTALL_SDK_LIBS),g" $(SDK_LA).in \ | 
| cannam@96 | 248 		> $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_SDK_LA) | 
| cannam@51 | 249 		sed -e "s,%LIBNAME%,$(INSTALL_HOSTSDK_LIBNAME),g" \ | 
| cannam@51 | 250 		    -e "s,%LINK_ABI%,$(INSTALL_HOSTSDK_LINK_ABI),g" \ | 
| cannam@51 | 251 		    -e "s,%LINK_DEV%,$(INSTALL_HOSTSDK_LINK_DEV),g" \ | 
| cannam@51 | 252 		    -e "s,%STATIC%,$(INSTALL_HOSTSDK_STATIC),g" \ | 
| cannam@86 | 253 		    -e "s,%LIBS%,$(INSTALL_SDK_LIBS),g" $(HOSTSDK_LA).in \ | 
| cannam@96 | 254 		> $(DESTDIR)$(INSTALL_SDK_LIBS)/$(INSTALL_HOSTSDK_LA) | 
| cannam@51 | 255 | 
| cannam@160 | 256 # DO NOT DELETE | 
| cannam@160 | 257 | 
| cannam@160 | 258 examples/AmplitudeFollower.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 259 examples/AmplitudeFollower.o: vamp-sdk/RealTime.h | 
| cannam@160 | 260 examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 261 examples/PercussionOnsetDetector.o: vamp-sdk/RealTime.h | 
| cannam@160 | 262 examples/SpectralCentroid.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 263 examples/SpectralCentroid.o: vamp-sdk/RealTime.h | 
| cannam@160 | 264 examples/ZeroCrossing.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 265 examples/ZeroCrossing.o: vamp-sdk/RealTime.h | 
| cannam@160 | 266 vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 267 vamp-sdk/PluginAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 268 vamp-sdk/Plugin.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 269 vamp-sdk/PluginHostAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 270 vamp-sdk/PluginHostAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 271 examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h | 
| cannam@160 | 272 examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 273 examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h | 
| cannam@160 | 274 examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 275 examples/PercussionOnsetDetector.o: vamp-sdk/RealTime.h | 
| cannam@160 | 276 examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h | 
| cannam@160 | 277 examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 278 examples/plugins.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h | 
| cannam@160 | 279 examples/plugins.o: examples/SpectralCentroid.h | 
| cannam@160 | 280 examples/plugins.o: examples/PercussionOnsetDetector.h | 
| cannam@160 | 281 examples/plugins.o: examples/AmplitudeFollower.h | 
| cannam@160 | 282 examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h | 
| cannam@160 | 283 examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 284 examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h | 
| cannam@160 | 285 examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 286 host/vamp-simple-host.o: vamp-sdk/PluginHostAdapter.h vamp-sdk/Plugin.h | 
| cannam@160 | 287 host/vamp-simple-host.o: vamp-sdk/PluginBase.h vamp-sdk/RealTime.h | 
| cannam@160 | 288 host/vamp-simple-host.o: vamp-sdk/hostext/PluginChannelAdapter.h | 
| cannam@160 | 289 host/vamp-simple-host.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 290 host/vamp-simple-host.o: vamp-sdk/hostext/PluginInputDomainAdapter.h | 
| cannam@160 | 291 host/vamp-simple-host.o: vamp-sdk/hostext/PluginLoader.h vamp/vamp.h | 
| cannam@160 | 292 host/vamp-simple-host.o: host/system.h | 
| cannam@160 | 293 vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h | 
| cannam@160 | 294 vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 295 vamp-sdk/PluginAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 296 vamp-sdk/PluginHostAdapter.o: vamp-sdk/PluginHostAdapter.h vamp/vamp.h | 
| cannam@160 | 297 vamp-sdk/PluginHostAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 298 vamp-sdk/PluginHostAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 299 vamp-sdk/RealTime.o: vamp-sdk/RealTime.h | 
| cannam@160 | 300 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 301 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 302 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 303 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 304 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 305 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 306 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 307 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 308 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 309 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 310 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 311 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 312 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 313 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 314 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/RealTime.h | 
| cannam@160 | 315 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 316 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/RealTime.h | 
| cannam@160 | 317 rdf/generator/template-generator.o: vamp-sdk/PluginHostAdapter.h | 
| cannam@160 | 318 rdf/generator/template-generator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 319 rdf/generator/template-generator.o: vamp-sdk/RealTime.h | 
| cannam@160 | 320 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginChannelAdapter.h | 
| cannam@160 | 321 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 322 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginInputDomainAdapter.h | 
| cannam@160 | 323 rdf/generator/template-generator.o: vamp-sdk/hostext/PluginLoader.h | 
| cannam@160 | 324 rdf/generator/template-generator.o: vamp/vamp.h | 
| cannam@160 | 325 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginBufferingAdapter.h | 
| cannam@160 | 326 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 327 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 328 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 329 vamp-sdk/hostext/PluginBufferingAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 330 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginChannelAdapter.h | 
| cannam@160 | 331 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 332 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 333 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 334 vamp-sdk/hostext/PluginChannelAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 335 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginInputDomainAdapter.h | 
| cannam@160 | 336 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 337 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h | 
| cannam@160 | 338 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h | 
| cannam@160 | 339 vamp-sdk/hostext/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h | 
| cannam@160 | 340 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/PluginHostAdapter.h | 
| cannam@160 | 341 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 342 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/RealTime.h | 
| cannam@160 | 343 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginLoader.h | 
| cannam@160 | 344 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 345 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginInputDomainAdapter.h | 
| cannam@160 | 346 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginChannelAdapter.h | 
| cannam@160 | 347 vamp-sdk/hostext/PluginLoader.o: vamp-sdk/hostext/PluginBufferingAdapter.h | 
| cannam@160 | 348 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/hostext/PluginWrapper.h | 
| cannam@160 | 349 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h | 
| cannam@160 | 350 vamp-sdk/hostext/PluginWrapper.o: vamp-sdk/RealTime.h |