cannam@0: cannam@0: # Location of our plugins cannam@0: # cannam@0: PLUGINDIR = plugins cannam@0: cannam@0: # Compile flags cannam@0: # cannam@15: CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O3 -ffast-math -Wall -fPIC -I. cannam@8: cannam@16: # Libraries required for the plugins. cannam@0: # cannam@15: PLUGIN_LIBS = -Wl,-Bstatic -lvamp-sdk -lxtract -lfftw3f -Wl,-Bdynamic cannam@0: cannam@0: # Flags required to tell the compiler to make a dynamically loadable object cannam@0: # cannam@11: PLUGIN_LDFLAGS = -shared -Wl,-Bsymbolic -Wl,--version-script=vamp-plugin.map cannam@0: cannam@0: # File extension for a dynamically loadable object cannam@0: # cannam@0: PLUGIN_EXT = .so cannam@0: cannam@0: ## For OS/X with g++: cannam@16: #PLUGIN_LDFLAGS = -dynamiclib -exported_symbols_list=vamp-plugin.list cannam@0: #PLUGIN_EXT = .dylib cannam@0: cannam@0: cannam@0: ### End of user-serviceable parts cannam@0: cannam@0: PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp)) cannam@0: PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp)) cannam@0: PLUGIN_TARGET = vamp-libxtract$(PLUGIN_EXT) cannam@0: cannam@0: all: $(PLUGIN_TARGET) cannam@0: cannam@0: $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS) cannam@0: $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) cannam@0: cannam@0: clean: cannam@0: rm -f $(PLUGIN_OBJECTS) cannam@0: cannam@0: distclean: clean cannam@0: rm -f $(PLUGIN_TARGET) *~ */*~ cannam@0: cannam@0: