1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00
audacity/lib-src/libvamp/build/Makefile.mingw32
2013-10-31 06:33:59 +00:00

355 lines
14 KiB
Makefile

# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
#
# This version of the Makefile is approximately correct for cross-
# compiling for Windows from Linux using the MinGW tools.
# Note that it has no "install" target; the following are the
# library and related files that may be of interest resulting from
# the build:
#
# libvamp-sdk.dll [SDK dynamic library for plugins]
# libvamp-hostsdk.dll [SDK dynamic library for hosts]
#
# libvamp-sdk.a [SDK static library for plugins]
# libvamp-hostsdk.a [SDK static library for hosts]
#
# examples/vamp-example-plugins.cat [copy this to your Vamp plugin dir]
# examples/vamp-example-plugins.dll [copy this to your Vamp plugin dir]
#
# host/vamp-simple-host [requires libsndfile to build]
#
# rdf/generator/vamp-rdf-template-generator
# Makefile for the Vamp plugin SDK. This builds the SDK objects,
# libraries, example plugins, and the test host. Please adjust to
# suit your operating system requirements.
APIDIR = vamp
SDKDIR = vamp-sdk
HOSTSDKDIR = vamp-hostsdk
SRCDIR = src
SDKSRCDIR = src/vamp-sdk
HOSTSDKSRCDIR = src/vamp-hostsdk
EXAMPLEDIR = examples
HOSTDIR = host
PCDIR = pkgconfig
LADIR = build
RDFGENDIR = rdf/generator
###
### Start of user-serviceable parts
###
# Default build target (or use "make <target>" to select one).
# Targets are:
# all -- build everything
# sdk -- build all the Vamp SDK libraries for plugins and hosts
# sdkstatic -- build only the static versions of the SDK libraries
# plugins -- build the example plugins (and the SDK if required)
# host -- build the simple Vamp plugin host (and the SDK if required)
# rdfgen -- build the RDF template generator (and the SDK if required)
# test -- build the host and example plugins, and run a quick test
# clean -- remove binary targets
# distclean -- remove all targets
#
default: all
# Tools selection
#
CXX = i586-mingw32msvc-g++
LD = i586-mingw32msvc-g++
AR = i586-mingw32msvc-ar
RANLIB = i586-mingw32msvc-ranlib
# Compile flags
#
CXXFLAGS = -O2 -Wall -I. -I../include
# Libraries required for the plugins.
#
PLUGIN_LIBS = ./libvamp-sdk.a
# File extension for a dynamically loadable object
#
PLUGIN_EXT = .dll
# Libraries required for the host.
#
HOST_LIBS = ./libvamp-hostsdk.a -L../lib -lsndfile
# Libraries required for the RDF template generator.
#
RDFGEN_LIBS = ./libvamp-hostsdk.a
# Flags required to tell the compiler to create a dynamically loadable object
#
DYNAMIC_LDFLAGS = --static-libgcc -shared -Wl,-Bsymbolic
# Flags for building specific plugin and library targets. We need to
# tell the linker the formal name for the library, and for plugins we
# also want to tell the linker to make all symbols in the library
# hidden except for the public entry point (making for a tidier library).
#
PLUGIN_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,--version-script=build/vamp-plugin.map
SDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_SDK_LIBNAME)
HOSTSDK_DYNAMIC_LDFLAGS = $(DYNAMIC_LDFLAGS) -Wl,-soname=$(INSTALL_HOSTSDK_LIBNAME)
### End of user-serviceable parts
API_HEADERS = \
$(APIDIR)/vamp.h
SDK_HEADERS = \
$(SDKDIR)/Plugin.h \
$(SDKDIR)/PluginAdapter.h \
$(SDKDIR)/PluginBase.h \
$(SDKDIR)/RealTime.h \
$(SDKDIR)/FFT.h \
$(SDKDIR)/plugguard.h \
$(SDKDIR)/vamp-sdk.h
HOSTSDK_HEADERS = \
$(HOSTSDKDIR)/Plugin.h \
$(HOSTSDKDIR)/PluginBase.h \
$(HOSTSDKDIR)/PluginHostAdapter.h \
$(HOSTSDKDIR)/RealTime.h \
$(HOSTSDKDIR)/PluginBufferingAdapter.h \
$(HOSTSDKDIR)/PluginChannelAdapter.h \
$(HOSTSDKDIR)/PluginInputDomainAdapter.h \
$(HOSTSDKDIR)/PluginLoader.h \
$(HOSTSDKDIR)/PluginSummarisingAdapter.h \
$(HOSTSDKDIR)/PluginWrapper.h \
$(HOSTSDKDIR)/hostguard.h \
$(HOSTSDKDIR)/vamp-hostsdk.h
SDK_OBJECTS = \
$(SDKSRCDIR)/PluginAdapter.o \
$(SDKSRCDIR)/RealTime.o \
$(SDKSRCDIR)/FFT.o \
$(SDKSRCDIR)/acsymbols.o
HOSTSDK_OBJECTS = \
$(HOSTSDKSRCDIR)/PluginHostAdapter.o \
$(HOSTSDKSRCDIR)/RealTime.o \
$(HOSTSDKSRCDIR)/PluginBufferingAdapter.o \
$(HOSTSDKSRCDIR)/PluginChannelAdapter.o \
$(HOSTSDKSRCDIR)/PluginInputDomainAdapter.o \
$(HOSTSDKSRCDIR)/PluginLoader.o \
$(HOSTSDKSRCDIR)/PluginSummarisingAdapter.o \
$(HOSTSDKSRCDIR)/PluginWrapper.o \
$(HOSTSDKSRCDIR)/acsymbols.o
SDK_STATIC = \
./libvamp-sdk.a
HOSTSDK_STATIC = \
./libvamp-hostsdk.a
SDK_DYNAMIC = \
./libvamp-sdk$(PLUGIN_EXT)
HOSTSDK_DYNAMIC = \
./libvamp-hostsdk$(PLUGIN_EXT)
SDK_LA = \
$(LADIR)/libvamp-sdk.la
HOSTSDK_LA = \
$(LADIR)/libvamp-hostsdk.la
PLUGIN_HEADERS = \
$(EXAMPLEDIR)/SpectralCentroid.h \
$(EXAMPLEDIR)/PowerSpectrum.h \
$(EXAMPLEDIR)/PercussionOnsetDetector.h \
$(EXAMPLEDIR)/FixedTempoEstimator.h \
$(EXAMPLEDIR)/AmplitudeFollower.h \
$(EXAMPLEDIR)/ZeroCrossing.h
PLUGIN_OBJECTS = \
$(EXAMPLEDIR)/SpectralCentroid.o \
$(EXAMPLEDIR)/PowerSpectrum.o \
$(EXAMPLEDIR)/PercussionOnsetDetector.o \
$(EXAMPLEDIR)/FixedTempoEstimator.o \
$(EXAMPLEDIR)/AmplitudeFollower.o \
$(EXAMPLEDIR)/ZeroCrossing.o \
$(EXAMPLEDIR)/plugins.o
PLUGIN_TARGET = \
$(EXAMPLEDIR)/vamp-example-plugins$(PLUGIN_EXT)
HOST_HEADERS = \
$(HOSTDIR)/system.h
HOST_OBJECTS = \
$(HOSTDIR)/vamp-simple-host.o
HOST_TARGET = \
$(HOSTDIR)/vamp-simple-host
RDFGEN_OBJECTS = \
$(RDFGENDIR)/vamp-rdf-template-generator.o
RDFGEN_TARGET = \
$(RDFGENDIR)/vamp-rdf-template-generator
sdk: sdkstatic $(SDK_DYNAMIC) $(HOSTSDK_DYNAMIC)
sdkstatic: $(SDK_STATIC) $(HOSTSDK_STATIC)
$(RANLIB) $(SDK_STATIC)
$(RANLIB) $(HOSTSDK_STATIC)
plugins: $(PLUGIN_TARGET)
host: $(HOST_TARGET)
rdfgen: $(RDFGEN_TARGET)
all: sdk plugins host rdfgen test
$(SDK_STATIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(AR) r $@ $(SDK_OBJECTS)
$(HOSTSDK_STATIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(AR) r $@ $(HOSTSDK_OBJECTS)
$(SDK_DYNAMIC): $(SDK_OBJECTS) $(API_HEADERS) $(SDK_HEADERS)
$(CXX) $(LDFLAGS) $(SDK_DYNAMIC_LDFLAGS) -o $@ $(SDK_OBJECTS)
$(HOSTSDK_DYNAMIC): $(HOSTSDK_OBJECTS) $(API_HEADERS) $(HOSTSDK_HEADERS)
$(CXX) $(LDFLAGS) $(HOSTSDK_DYNAMIC_LDFLAGS) -o $@ $(HOSTSDK_OBJECTS)
$(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(SDK_STATIC) $(PLUGIN_HEADERS)
$(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
$(HOST_TARGET): $(HOST_OBJECTS) $(HOSTSDK_STATIC) $(HOST_HEADERS)
$(CXX) $(LDFLAGS) $(HOST_LDFLAGS) -o $@ $(HOST_OBJECTS) $(HOST_LIBS)
$(RDFGEN_TARGET): $(RDFGEN_OBJECTS) $(HOSTSDK_STATIC)
$(CXX) $(LDFLAGS) $(RDFGEN_LDFLAGS) -o $@ $(RDFGEN_OBJECTS) $(RDFGEN_LIBS)
test: plugins host
VAMP_PATH=$(EXAMPLEDIR) $(HOST_TARGET) -l
clean:
rm -f $(SDK_OBJECTS) $(HOSTSDK_OBJECTS) $(PLUGIN_OBJECTS) $(HOST_OBJECTS) $(RDFGEN_OBJECTS)
distclean: clean
rm -f $(SDK_STATIC) $(SDK_DYNAMIC) $(HOSTSDK_STATIC) $(HOSTSDK_DYNAMIC) $(PLUGIN_TARGET) $(HOST_TARGET) $(RDFGEN_TARGET) *~ */*~
# DO NOT DELETE
examples/AmplitudeFollower.o: examples/AmplitudeFollower.h vamp-sdk/Plugin.h
examples/AmplitudeFollower.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/AmplitudeFollower.o: vamp-sdk/RealTime.h
examples/FixedTempoEstimator.o: examples/FixedTempoEstimator.h
examples/FixedTempoEstimator.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/FixedTempoEstimator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/PercussionOnsetDetector.o: examples/PercussionOnsetDetector.h
examples/PercussionOnsetDetector.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
examples/PercussionOnsetDetector.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
examples/SpectralCentroid.o: examples/SpectralCentroid.h vamp-sdk/Plugin.h
examples/SpectralCentroid.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/SpectralCentroid.o: vamp-sdk/RealTime.h
examples/PowerSpectrum.o: examples/PowerSpectrum.h vamp-sdk/Plugin.h
examples/PowerSpectrum.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/PowerSpectrum.o: vamp-sdk/RealTime.h
examples/ZeroCrossing.o: examples/ZeroCrossing.h vamp-sdk/Plugin.h
examples/ZeroCrossing.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/ZeroCrossing.o: vamp-sdk/RealTime.h
examples/plugins.o: vamp/vamp.h vamp-sdk/PluginAdapter.h vamp-sdk/Plugin.h
examples/plugins.o: vamp-sdk/PluginBase.h vamp-sdk/plugguard.h
examples/plugins.o: vamp-sdk/RealTime.h examples/ZeroCrossing.h
examples/plugins.o: vamp-sdk/Plugin.h examples/SpectralCentroid.h
examples/plugins.o: examples/PercussionOnsetDetector.h examples/PowerSpectrum.h
examples/plugins.o: examples/FixedTempoEstimator.h
examples/plugins.o: examples/AmplitudeFollower.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginHostAdapter.h vamp/vamp.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
host/vamp-simple-host.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginWrapper.h
host/vamp-simple-host.o: ./vamp-hostsdk/Plugin.h ./vamp-hostsdk/hostguard.h
host/vamp-simple-host.o: vamp-sdk/Plugin.h
host/vamp-simple-host.o: ./vamp-hostsdk/PluginLoader.h host/system.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginHostAdapter.h
rdf/generator/vamp-rdf-template-generator.o: vamp/vamp.h vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/PluginBase.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginChannelAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginWrapper.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/hostguard.h
rdf/generator/vamp-rdf-template-generator.o: vamp-sdk/Plugin.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
rdf/generator/vamp-rdf-template-generator.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginHostAdapter.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginHostAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: src/vamp-sdk/RealTime.cpp ./vamp-sdk/RealTime.h
src/vamp-hostsdk/RealTime.o: vamp-sdk/plugguard.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/PluginAdapter.h vamp/vamp.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/Plugin.h vamp-sdk/PluginBase.h
src/vamp-sdk/PluginAdapter.o: vamp-sdk/plugguard.h vamp-sdk/RealTime.h
src/vamp-sdk/RealTime.o: ./vamp-sdk/RealTime.h vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginBufferingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginChannelAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginInputDomainAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginHostAdapter.h
src/vamp-hostsdk/PluginLoader.o: vamp/vamp.h vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginLoader.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginLoader.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginInputDomainAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginChannelAdapter.h
src/vamp-hostsdk/PluginLoader.o: ./vamp-hostsdk/PluginBufferingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginSummarisingAdapter.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginSummarisingAdapter.o: vamp-sdk/RealTime.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/PluginWrapper.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: ./vamp-hostsdk/hostguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/Plugin.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/PluginBase.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/plugguard.h
src/vamp-hostsdk/PluginWrapper.o: vamp-sdk/RealTime.h