changeset 124:fcf7e33aa56b

Build a library too
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 15 May 2014 14:47:19 +0100
parents e5c36c054c48
children b3f72e67e543
files Makefile.inc
diffstat 1 files changed, 46 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.inc	Thu May 15 14:42:11 2014 +0100
+++ b/Makefile.inc	Thu May 15 14:47:19 2014 +0100
@@ -21,18 +21,55 @@
 TEST_LDFLAGS := $(LDFLAGS) -lboost_unit_test_framework
 PF_LDFLAGS := $(LDFLAGS) -lsndfile
 
+LIB	:= libcq.a
 PLUGIN	:= cqvamp$(PLUGIN_EXT)
 TEST	:= $(TEST_DIR)/test
 PF	:= $(TEST_DIR)/processfile
 
-LIB_HEADERS := $(INC_DIR)/CQBase.h $(LIB_DIR)/CQKernel.h $(INC_DIR)/ConstantQ.h $(INC_DIR)/CQSpectrogram.h $(INC_DIR)/CQInverse.h $(LIB_DIR)/dsp/FFT.h $(LIB_DIR)/dsp/KaiserWindow.h $(LIB_DIR)/dsp/MathUtilities.h $(LIB_DIR)/dsp/nan-inf.h $(LIB_DIR)/dsp/Resampler.h $(LIB_DIR)/dsp/SincWindow.h $(LIB_DIR)/dsp/Window.h $(KFFT_DIR)/kiss_fft.h $(KFFT_DIR)/tools/kiss_fftr.h
-LIB_SOURCES := $(LIB_DIR)/CQKernel.cpp $(LIB_DIR)/ConstantQ.cpp $(LIB_DIR)/CQSpectrogram.cpp $(LIB_DIR)/CQInverse.cpp $(LIB_DIR)/dsp/FFT.cpp $(LIB_DIR)/dsp/KaiserWindow.cpp $(LIB_DIR)/dsp/MathUtilities.cpp $(LIB_DIR)/dsp/Resampler.cpp $(LIB_DIR)/dsp/SincWindow.cpp $(KFFT_DIR)/kiss_fft.c $(KFFT_DIR)/tools/kiss_fftr.c
+LIB_HEADERS	:= \
+	$(INC_DIR)/CQBase.h \
+	$(LIB_DIR)/CQKernel.h \
+	$(INC_DIR)/ConstantQ.h \
+	$(INC_DIR)/CQSpectrogram.h \
+	$(INC_DIR)/CQInverse.h \
+	$(LIB_DIR)/dsp/FFT.h \
+	$(LIB_DIR)/dsp/KaiserWindow.h \
+	$(LIB_DIR)/dsp/MathUtilities.h \
+	$(LIB_DIR)/dsp/nan-inf.h \
+	$(LIB_DIR)/dsp/Resampler.h \
+	$(LIB_DIR)/dsp/SincWindow.h \
+	$(LIB_DIR)/dsp/Window.h \
+	$(KFFT_DIR)/kiss_fft.h \
+	$(KFFT_DIR)/tools/kiss_fftr.h
 
-VAMP_HEADERS := $(VAMP_DIR)/CQVamp.h $(VAMP_DIR)/CQChromaVamp.h $(VAMP_DIR)/Pitch.h
-VAMP_SOURCES := $(VAMP_DIR)/CQVamp.cpp $(VAMP_DIR)/CQChromaVamp.cpp $(VAMP_DIR)/libmain.cpp $(VAMP_DIR)/Pitch.cpp
+LIB_SOURCES	:= \
+	$(LIB_DIR)/CQKernel.cpp \
+	$(LIB_DIR)/ConstantQ.cpp \
+	$(LIB_DIR)/CQSpectrogram.cpp \
+	$(LIB_DIR)/CQInverse.cpp \
+	$(LIB_DIR)/dsp/FFT.cpp \
+	$(LIB_DIR)/dsp/KaiserWindow.cpp \
+	$(LIB_DIR)/dsp/MathUtilities.cpp \
+	$(LIB_DIR)/dsp/Resampler.cpp \
+	$(LIB_DIR)/dsp/SincWindow.cpp \
+	$(KFFT_DIR)/kiss_fft.c \
+	$(KFFT_DIR)/tools/kiss_fftr.c
+
+VAMP_HEADERS	:= \
+	$(VAMP_DIR)/CQVamp.h \
+	$(VAMP_DIR)/CQChromaVamp.h \
+	$(VAMP_DIR)/Pitch.h
+
+VAMP_SOURCES	:= \
+	$(VAMP_DIR)/CQVamp.cpp \
+	$(VAMP_DIR)/CQChromaVamp.cpp \
+	$(VAMP_DIR)/libmain.cpp \
+	$(VAMP_DIR)/Pitch.cpp
 
 HEADERS	     := $(LIB_HEADERS) $(VAMP_HEADERS)
 SOURCES	     := $(LIB_SOURCES) $(VAMP_SOURCES)
+LIB_OBJECTS  := $(LIB_SOURCES:.cpp=.o)
+LIB_OBJECTS  := $(LIB_OBJECTS:.c=.o)
 OBJECTS	     := $(SOURCES:.cpp=.o)
 OBJECTS	     := $(OBJECTS:.c=.o)
 
@@ -44,7 +81,7 @@
 
 LIBS	:= $(VAMPSDK_DIR)/libvamp-sdk.a -lpthread
 
-all: $(PLUGIN) $(TEST) $(PF)
+all: $(LIB) $(PLUGIN) $(TEST) $(PF)
 
 $(PLUGIN):	$(OBJECTS)
 	$(CXX) -o $@ $^ $(LIBS) $(PLUGIN_LDFLAGS)
@@ -55,6 +92,10 @@
 $(PF):	$(PF_OBJECTS)
 	$(CXX) -o $@ $^ $(LIBS) $(PF_LDFLAGS)
 
+$(LIB):	$(LIB_OBJECTS)
+	ar cr $@ $^
+	ranlib $@
+
 clean:		
 	rm -f $(OBJECTS) $(TEST_OBJECTS) $(PF_OBJECTS)