annotate Makefile.inc @ 35:474f45cfd3fd

Add downsampling outputs -- haven't yet got delay compensation in there though
author Chris Cannam
date Wed, 30 Sep 2015 16:15:36 +0100
parents 63959419587f
children bfd9acbcfd7c
rev   line source
Chris@6 1
Chris@6 2 SRC_DIR := src
Chris@6 3
Chris@6 4 VAMPSDK_DIR ?= ../vamp-plugin-sdk
Chris@6 5
Chris@6 6 CQ_DIR ?= constant-q-cpp
Chris@6 7 BQVEC_DIR ?= bqvec
Chris@6 8
Chris@6 9 PLUGIN_EXT ?= .so
Chris@6 10
Chris@6 11 CXX ?= g++
Chris@6 12 CC ?= gcc
Chris@6 13 AR ?= ar
Chris@6 14 RANLIB ?= ranlib
Chris@6 15
Chris@6 16 CFLAGS := $(CFLAGS)
Chris@7 17 CXXFLAGS := $(CFLAGS) -I. -I$(VAMPSDK_DIR) -I$(CQ_DIR) -I$(BQVEC_DIR) -I$(BQVEC_DIR)/bqvec -I$(CQ_DIR)/src/dsp $(CXXFLAGS)
Chris@6 18
Chris@6 19 LDFLAGS := $(LDFLAGS)
Chris@6 20 PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS)
Chris@6 21
Chris@6 22 LIBRARY := libtipic.a
Chris@6 23 PLUGIN := tipic-vamp$(PLUGIN_EXT)
Chris@6 24
Chris@6 25 PUBLIC_HEADERS :=
Chris@6 26
Chris@35 27 LIB_HEADERS := $(SRC_DIR)/delays.h $(SRC_DIR)/filter-a.h $(SRC_DIR)/filter-b.h $(SRC_DIR)/Filter.h $(SRC_DIR)/PitchFilterbank.h $(SRC_DIR)/DCT.h $(SRC_DIR)/Types.h $(SRC_DIR)/CRP.h $(SRC_DIR)/Normalise.h $(SRC_DIR)/LogCompress.h $(SRC_DIR)/OctaveFold.h $(SRC_DIR)/Resize.h $(SRC_DIR)/Chroma.h $(SRC_DIR)/FeatureDownsample.h
Chris@35 28 LIB_SOURCES := $(SRC_DIR)/Filter.cpp $(SRC_DIR)/PitchFilterbank.cpp $(SRC_DIR)/DCT.cpp $(SRC_DIR)/CRP.cpp $(SRC_DIR)/Normalise.cpp $(SRC_DIR)/Chroma.cpp $(SRC_DIR)/FeatureDownsample.cpp
Chris@6 29 LIB_OBJECTS := $(LIB_SOURCES:.cpp=.o)
Chris@6 30 LIB_OBJECTS := $(LIB_OBJECTS:.c=.o)
Chris@6 31
Chris@7 32 PLUGIN_HEADERS := $(SRC_DIR)/TipicVampPlugin.h
Chris@10 33 PLUGIN_SOURCES := $(SRC_DIR)/TipicVampPlugin.cpp $(SRC_DIR)/libmain.cpp
Chris@18 34 PLUGIN_OBJECTS := $(PLUGIN_SOURCES:.cpp=.o)
Chris@18 35 PLUGIN_OBJECTS := $(PLUGIN_OBJECTS:.c=.o)
Chris@6 36
Chris@6 37 BQVEC_HEADERS := $(BQVEC_DIR)/Allocators.h $(BQVEC_DIR)/Restrict.h $(BQVEC_DIR)/VectorOps.h
Chris@6 38 BQVEC_SOURCES := $(BQVEC_DIR)/src/Allocators.cpp
Chris@18 39 BQVEC_OBJECTS := $(BQVEC_SOURCES:.cpp=.o)
Chris@18 40 BQVEC_OBJECTS := $(BQVEC_OBJECTS:.c=.o)
Chris@18 41
Chris@21 42 TEST_SOURCES := $(SRC_DIR)/test-filter.cpp $(SRC_DIR)/test-dct.cpp $(SRC_DIR)/test-normalise.cpp
Chris@18 43 TEST_OBJECTS := $(TEST_SOURCES:.cpp=.o)
Chris@18 44 TEST_OBJECTS := $(TEST_OBJECTS:.c=.o)
Chris@18 45
Chris@18 46 OTHER_OBJECTS := $(CQ_DIR)/src/dsp/FFT.o $(CQ_DIR)/src/ext/kissfft/kiss_fft.o $(CQ_DIR)/src/ext/kissfft/tools/kiss_fftr.o
Chris@6 47
Chris@6 48 HEADERS := $(PUBLIC_HEADERS) $(LIB_HEADERS) $(PLUGIN_HEADERS) $(BQVEC_HEADERS)
Chris@18 49 SOURCES := $(PUBLIC_SOURCES) $(LIB_SOURCES) $(PLUGIN_SOURCES) $(BQVEC_SOURCES) $(TEST_SOURCES)
Chris@6 50 OBJECTS := $(SOURCES:.cpp=.o)
Chris@6 51 OBJECTS := $(OBJECTS:.c=.o)
Chris@6 52
Chris@6 53 LIBS := $(CQ_DIR)/libcq.a $(VAMPSDK_DIR)/libvamp-sdk.a
Chris@6 54
Chris@18 55 all: constant-q-cpp $(LIBRARY) $(PLUGIN) tests
Chris@6 56
Chris@6 57 .PHONY: constant-q-cpp
Chris@6 58 constant-q-cpp:
Chris@6 59 $(MAKE) -C $@ -f Makefile$(MAKEFILE_EXT) libcq.a
Chris@6 60
Chris@18 61 $(PLUGIN): $(PLUGIN_OBJECTS) $(LIB_OBJECTS) $(BQVEC_OBJECTS) $(LIBS)
Chris@6 62 $(CXX) -o $@ $^ $(LIBS) $(PLUGIN_LDFLAGS)
Chris@6 63
Chris@18 64 $(LIBRARY): $(LIB_OBJECTS) $(BQVEC_OBJECTS) $(OTHER_OBJECTS)
Chris@6 65 $(RM) -f $@
Chris@6 66 $(AR) cr $@ $^
Chris@6 67 $(RANLIB) $@
Chris@6 68
Chris@18 69 .PHONY: tests
Chris@21 70 tests: test-dct test-filter test-normalise
Chris@18 71 ./test-dct
Chris@18 72 ./test-filter
Chris@21 73 ./test-normalise
Chris@18 74
Chris@18 75 test-dct: $(TEST_OBJECTS) $(LIBRARY)
Chris@18 76 $(CXX) -o $@ src/test-dct.o $(LIBRARY)
Chris@18 77
Chris@18 78 test-filter: $(TEST_OBJECTS) $(LIBRARY)
Chris@18 79 $(CXX) -o $@ src/test-filter.o $(LIBRARY)
Chris@18 80
Chris@21 81 test-normalise: $(TEST_OBJECTS) $(LIBRARY)
Chris@21 82 $(CXX) -o $@ src/test-normalise.o $(LIBRARY)
Chris@21 83
Chris@6 84 clean:
Chris@6 85 rm -f $(OBJECTS)
Chris@6 86 $(MAKE) -C constant-q-cpp -f Makefile$(MAKEFILE_EXT) clean
Chris@6 87
Chris@6 88 distclean: clean
Chris@6 89 rm -f $(PLUGIN)
Chris@6 90
Chris@6 91 depend:
Chris@6 92 makedepend -I$(BQVEC_DIR) -Y -fMakefile.inc $(SOURCES) $(HEADERS)
Chris@6 93
Chris@6 94 # DO NOT DELETE
Chris@6 95
Chris@6 96 src/Filter.o: src/Filter.h bqvec/bqvec/Restrict.h bqvec/bqvec/VectorOps.h
Chris@6 97 src/Filter.o: bqvec/bqvec/Restrict.h bqvec/bqvec/Allocators.h
Chris@24 98 src/PitchFilterbank.o: src/PitchFilterbank.h src/Types.h src/Filter.h
Chris@6 99 src/PitchFilterbank.o: bqvec/bqvec/Restrict.h src/delays.h src/filter-a.h
Chris@6 100 src/PitchFilterbank.o: src/filter-b.h
Chris@24 101 src/DCT.o: src/DCT.h
Chris@26 102 src/CRP.o: src/CRP.h src/Types.h src/DCTReduce.h src/DCT.h src/Normalise.h
Chris@26 103 src/CRP.o: src/LogCompress.h src/OctaveFold.h src/Resize.h
Chris@24 104 src/Normalise.o: src/Normalise.h
Chris@35 105 src/Chroma.o: src/Chroma.h src/Types.h src/FeatureDownsample.h
Chris@35 106 src/Chroma.o: src/Normalise.h src/LogCompress.h src/OctaveFold.h src/Resize.h
Chris@35 107 src/FeatureDownsample.o: src/FeatureDownsample.h src/Types.h src/Filter.h
Chris@35 108 src/FeatureDownsample.o: bqvec/bqvec/Restrict.h
Chris@24 109 src/TipicVampPlugin.o: src/TipicVampPlugin.h src/Types.h
Chris@26 110 src/TipicVampPlugin.o: src/PitchFilterbank.h src/CRP.h src/DCTReduce.h
Chris@35 111 src/TipicVampPlugin.o: src/DCT.h src/Chroma.h src/FeatureDownsample.h
Chris@35 112 src/TipicVampPlugin.o: bqvec/bqvec/Range.h bqvec/bqvec/VectorOps.h
Chris@35 113 src/TipicVampPlugin.o: bqvec/bqvec/Restrict.h
Chris@24 114 src/libmain.o: src/TipicVampPlugin.h src/Types.h
Chris@24 115 src/test-filter.o: src/Filter.h bqvec/bqvec/Restrict.h
Chris@24 116 src/test-dct.o: src/DCT.h
Chris@24 117 src/test-normalise.o: src/Normalise.h
Chris@6 118 src/Filter.o: bqvec/bqvec/Restrict.h
Chris@24 119 src/PitchFilterbank.o: src/Types.h
Chris@26 120 src/CRP.o: src/Types.h src/DCTReduce.h src/DCT.h
Chris@35 121 src/Chroma.o: src/Types.h src/FeatureDownsample.h
Chris@35 122 src/FeatureDownsample.o: src/Types.h
Chris@24 123 src/TipicVampPlugin.o: src/Types.h