annotate Makefile @ 40:08d9660e57e8 tip

Or better, this
author Chris Cannam
date Thu, 16 May 2024 10:17:33 +0100
parents 81146373f024
children
rev   line source
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