Chris@24: Chris@24: # Location of our plugins Chris@24: # Chris@24: PLUGINDIR = plugins Chris@24: Chris@26: # Location of LibXtract Chris@26: # Chris@26: LIBXTRACTDIR = LibXtract Chris@26: Chris@24: # Compile flags Chris@24: # Chris@26: CFLAGS := $(CFLAGS) -DXTRACT_FFT=1 -arch x86_64 -arch i386 -mmacosx-version-min=10.5 -DNDEBUG -O3 -ffast-math -Wall -fPIC -I. -I$(LIBXTRACTDIR) Chris@27: CXXFLAGS := $(CFLAGS) Chris@24: Chris@24: # Libraries required for the plugins. Chris@24: # Chris@26: PLUGIN_LIBS = -lvamp-sdk -lfftw3f Chris@24: Chris@26: # Flags required to tell the compiler to make a dynamically loadable object Chris@26: # Chris@24: PLUGIN_LDFLAGS = -arch x86_64 -arch i386 -mmacosx-version-min=10.5 -dynamiclib -exported_symbols_list=vamp-plugin.list Chris@26: Chris@26: # File extension for a dynamically loadable object Chris@26: # Chris@24: PLUGIN_EXT = .dylib Chris@24: Chris@24: Chris@24: ### End of user-serviceable parts Chris@24: Chris@24: PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp)) Chris@26: XTRACT_OBJECTS = $(patsubst %.c,%.o,$(wildcard $(LIBXTRACTDIR)/src/*.c)) Chris@24: PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp)) Chris@24: PLUGIN_TARGET = vamp-libxtract$(PLUGIN_EXT) Chris@24: Chris@24: all: $(PLUGIN_TARGET) Chris@24: Chris@26: $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS) $(PLUGIN_HEADERS) Chris@26: $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS) $(PLUGIN_LIBS) Chris@24: Chris@24: clean: Chris@26: rm -f $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS) Chris@24: Chris@24: distclean: clean Chris@24: rm -f $(PLUGIN_TARGET) *~ */*~ Chris@24: Chris@24: