Mercurial > hg > vamp-libxtract-plugins
annotate Makefile @ 20:2f6fe6aa6a24
Git protocol
author | Chris Cannam |
---|---|
date | Tue, 04 Dec 2012 14:56:40 +0000 |
parents | 8c7f4d1eb77f |
children | 64b85e38dd52 |
rev | line source |
---|---|
cannam@0 | 1 |
cannam@0 | 2 # Location of our plugins |
cannam@0 | 3 # |
cannam@0 | 4 PLUGINDIR = plugins |
cannam@0 | 5 |
cannam@0 | 6 # Compile flags |
cannam@0 | 7 # |
cannam@15 | 8 CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O3 -ffast-math -Wall -fPIC -I. |
cannam@8 | 9 |
cannam@16 | 10 # Libraries required for the plugins. |
cannam@0 | 11 # |
cannam@15 | 12 PLUGIN_LIBS = -Wl,-Bstatic -lvamp-sdk -lxtract -lfftw3f -Wl,-Bdynamic |
cannam@0 | 13 |
cannam@0 | 14 # Flags required to tell the compiler to make a dynamically loadable object |
cannam@0 | 15 # |
cannam@11 | 16 PLUGIN_LDFLAGS = -shared -Wl,-Bsymbolic -Wl,--version-script=vamp-plugin.map |
cannam@0 | 17 |
cannam@0 | 18 # File extension for a dynamically loadable object |
cannam@0 | 19 # |
cannam@0 | 20 PLUGIN_EXT = .so |
cannam@0 | 21 |
cannam@0 | 22 ## For OS/X with g++: |
cannam@16 | 23 #PLUGIN_LDFLAGS = -dynamiclib -exported_symbols_list=vamp-plugin.list |
cannam@0 | 24 #PLUGIN_EXT = .dylib |
cannam@0 | 25 |
cannam@0 | 26 |
cannam@0 | 27 ### End of user-serviceable parts |
cannam@0 | 28 |
cannam@0 | 29 PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp)) |
cannam@0 | 30 PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp)) |
cannam@0 | 31 PLUGIN_TARGET = vamp-libxtract$(PLUGIN_EXT) |
cannam@0 | 32 |
cannam@0 | 33 all: $(PLUGIN_TARGET) |
cannam@0 | 34 |
cannam@0 | 35 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS) |
cannam@0 | 36 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(PLUGIN_LIBS) |
cannam@0 | 37 |
cannam@0 | 38 clean: |
cannam@0 | 39 rm -f $(PLUGIN_OBJECTS) |
cannam@0 | 40 |
cannam@0 | 41 distclean: clean |
cannam@0 | 42 rm -f $(PLUGIN_TARGET) *~ */*~ |
cannam@0 | 43 |
cannam@0 | 44 |