4 VAMPDIR = ../vamp-plugin-sdk
5 VAMPLIBDIR = $(VAMPDIR)/vamp-sdk
7 # Location of our plugins
13 CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O2 -Wall -I$(VAMPDIR) -I.
14 #CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O2 -march=pentium3 -mfpmath=sse -ffast-math -Wall -I$(VAMPDIR) -I.
16 # Libraries required for the plugins. Note that we can (and actively
17 # want to) statically link libstdc++, because our plugin exposes only
18 # a C API so there are no boundary compatibility problems.
20 PLUGIN_LIBS = -L$(VAMPLIBDIR) -Wl,-Bstatic -lvamp-sdk -laubio -lfftw3f -Wl,-Bdynamic
21 #PLUGIN_LIBS = -L$(VAMPLIBDIR) -lvamp-sdk /usr/lib/libaubio.a /usr/lib/libfftw3f.a
22 #PLUGIN_LIBS = -L$(VAMPLIBDIR) -Wl,-Bstatic -lvamp-sdk -laubio -lfftw3f -Wl,-Bdynamic $(shell g++ -print-file-name=libstdc++.a)
24 # Flags required to tell the compiler to make a dynamically loadable object
26 PLUGIN_LDFLAGS = -shared -Wl,-Bsymbolic -static-libgcc
28 # File extension for a dynamically loadable object
33 #PLUGIN_LDFLAGS = -dynamiclib
37 ### End of user-serviceable parts
39 PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp))
40 PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp))
41 PLUGIN_TARGET = vamp-aubio$(PLUGIN_EXT)
45 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS)
46 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS)
49 rm -f $(PLUGIN_OBJECTS)
52 rm -f $(PLUGIN_TARGET) *~ */*~