Mercurial > hg > vamp-libxtract-plugins
annotate Makefile @ 2:c2305fa8e01f
* Update along with the latest Vamp API change
author | cannam |
---|---|
date | Mon, 26 Feb 2007 18:12:19 +0000 |
parents | 298dc5b79772 |
children | 84d41c790d4f |
rev | line source |
---|---|
cannam@0 | 1 |
cannam@0 | 2 # Location of Vamp SDK |
cannam@0 | 3 # |
cannam@0 | 4 VAMPDIR = ../vamp-plugin-sdk |
cannam@0 | 5 VAMPLIBDIR = $(VAMPDIR)/vamp-sdk |
cannam@0 | 6 |
cannam@0 | 7 # Location of our plugins |
cannam@0 | 8 # |
cannam@0 | 9 PLUGINDIR = plugins |
cannam@0 | 10 |
cannam@0 | 11 # Compile flags |
cannam@0 | 12 # |
cannam@0 | 13 CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O2 -march=pentium3 -mfpmath=sse -ffast-math -Wall -I$(VAMPDIR) -I. |
cannam@0 | 14 |
cannam@0 | 15 # Libraries required for the plugins. Note that we can (and actively |
cannam@0 | 16 # want to) statically link libstdc++, because our plugin exposes only |
cannam@0 | 17 # a C API so there are no boundary compatibility problems. |
cannam@0 | 18 # |
cannam@0 | 19 PLUGIN_LIBS = -L$(VAMPLIBDIR) -Wl,-Bstatic -lvamp-sdk -lxtract -lfftw3f -Wl,-Bdynamic |
cannam@0 | 20 |
cannam@0 | 21 # Flags required to tell the compiler to make a dynamically loadable object |
cannam@0 | 22 # |
cannam@0 | 23 PLUGIN_LDFLAGS = -shared -Wl,-Bsymbolic -static-libgcc |
cannam@0 | 24 |
cannam@0 | 25 # File extension for a dynamically loadable object |
cannam@0 | 26 # |
cannam@0 | 27 PLUGIN_EXT = .so |
cannam@0 | 28 |
cannam@0 | 29 ## For OS/X with g++: |
cannam@0 | 30 #PLUGIN_LDFLAGS = -dynamiclib |
cannam@0 | 31 #PLUGIN_EXT = .dylib |
cannam@0 | 32 |
cannam@0 | 33 |
cannam@0 | 34 ### End of user-serviceable parts |
cannam@0 | 35 |
cannam@0 | 36 PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp)) |
cannam@0 | 37 PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp)) |
cannam@0 | 38 PLUGIN_TARGET = vamp-libxtract$(PLUGIN_EXT) |
cannam@0 | 39 |
cannam@0 | 40 all: $(PLUGIN_TARGET) |
cannam@0 | 41 |
cannam@0 | 42 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS) |
cannam@0 | 43 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) |
cannam@0 | 44 |
cannam@0 | 45 clean: |
cannam@0 | 46 rm -f $(PLUGIN_OBJECTS) |
cannam@0 | 47 |
cannam@0 | 48 distclean: clean |
cannam@0 | 49 rm -f $(PLUGIN_TARGET) *~ */*~ |
cannam@0 | 50 |
cannam@0 | 51 |