cannam@0
|
1
|
cannam@0
|
2 # Location of our plugins
|
cannam@0
|
3 #
|
cannam@0
|
4 PLUGINDIR = plugins
|
cannam@0
|
5
|
Chris@22
|
6 # Location of LibXtract
|
Chris@22
|
7 #
|
Chris@22
|
8 LIBXTRACTDIR = LibXtract
|
Chris@22
|
9
|
cannam@0
|
10 # Compile flags
|
cannam@0
|
11 #
|
Chris@34
|
12 CFLAGS := $(CFLAGS) -DXTRACT_FFT=1 -DUSE_OOURA=1 -DNDEBUG -O3 -ffast-math -Wall -fPIC -I. -I$(LIBXTRACTDIR)
|
Chris@38
|
13 CXXFLAGS := $(CXXFLAGS) $(CFLAGS)
|
cannam@8
|
14
|
cannam@16
|
15 # Libraries required for the plugins.
|
cannam@0
|
16 #
|
Chris@22
|
17 PLUGIN_LIBS = -Wl,-Bstatic -lvamp-sdk -lfftw3f -Wl,-Bdynamic
|
cannam@0
|
18
|
cannam@0
|
19 # Flags required to tell the compiler to make a dynamically loadable object
|
cannam@0
|
20 #
|
Chris@38
|
21 PLUGIN_LDFLAGS = $(LDFLAGS) -shared -Wl,-Bsymbolic -Wl,--version-script=vamp-plugin.map
|
cannam@0
|
22
|
cannam@0
|
23 # File extension for a dynamically loadable object
|
cannam@0
|
24 #
|
cannam@0
|
25 PLUGIN_EXT = .so
|
cannam@0
|
26
|
cannam@0
|
27 ## For OS/X with g++:
|
cannam@16
|
28 #PLUGIN_LDFLAGS = -dynamiclib -exported_symbols_list=vamp-plugin.list
|
cannam@0
|
29 #PLUGIN_EXT = .dylib
|
cannam@0
|
30
|
cannam@0
|
31
|
cannam@0
|
32 ### End of user-serviceable parts
|
cannam@0
|
33
|
cannam@0
|
34 PLUGIN_OBJECTS = libmain.o $(patsubst %.cpp,%.o,$(wildcard $(PLUGINDIR)/*.cpp))
|
Chris@34
|
35 XTRACT_OBJECTS = $(patsubst %.c,%.o,$(wildcard $(LIBXTRACTDIR)/src/*.c $(LIBXTRACTDIR)/src/*/*.c))
|
cannam@0
|
36 PLUGIN_HEADERS = $(patsubst %.cpp,%.h,$(wildcard $(PLUGINDIR)/*.cpp))
|
cannam@0
|
37 PLUGIN_TARGET = vamp-libxtract$(PLUGIN_EXT)
|
cannam@0
|
38
|
cannam@0
|
39 all: $(PLUGIN_TARGET)
|
cannam@0
|
40
|
Chris@22
|
41 $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS) $(PLUGIN_HEADERS)
|
Chris@22
|
42 $(CXX) $(LDFLAGS) $(PLUGIN_LDFLAGS) -o $@ $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS) $(PLUGIN_LIBS)
|
cannam@0
|
43
|
cannam@0
|
44 clean:
|
Chris@22
|
45 rm -f $(PLUGIN_OBJECTS) $(XTRACT_OBJECTS)
|
cannam@0
|
46
|
cannam@0
|
47 distclean: clean
|
cannam@0
|
48 rm -f $(PLUGIN_TARGET) *~ */*~
|
cannam@0
|
49
|
cannam@0
|
50
|