annotate Makefile @ 8:84d41c790d4f

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