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
|