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