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