2 # Location of our plugins
8 CXXFLAGS := $(CXXFLAGS) -fPIC -DNDEBUG -O2 -Wall -I.
10 # Libraries required for the plugins. Note that we can (and actively
11 # want to) statically link libstdc++, because our plugin exposes only
12 # a C API so there are no boundary compatibility problems.
14 PLUGIN_LIBS = -Wl,-Bstatic -lvamp-sdk -laubio -lfftw3f -Wl,-Bdynamic
16 # Flags required to tell the compiler to make a dynamically loadable object
18 PLUGIN_LDFLAGS = -shared -Wl,-Bsymbolic -static-libgcc -Wl,--version-script=vamp-plugin.map
20 # File extension for a dynamically loadable object
25 #PLUGIN_LDFLAGS = -dynamiclib
29 ### End of user-serviceable parts
31 PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp))
32 PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp))
33 PLUGIN_TARGET = vamp-aubio$(PLUGIN_EXT)
37 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS)
38 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
41 rm -f $(PLUGIN_OBJECTS)
44 rm -f $(PLUGIN_TARGET) *~ */*~