Chris@0: Chris@0: PLUGIN_EXT ?= .so Chris@41: Chris@0: CXX ?= g++ Chris@0: CC ?= gcc Chris@0: Chris@41: CFLAGS := $(CFLAGS) Chris@41: CXXFLAGS := -I. $(CXXFLAGS) Chris@41: Chris@41: LDFLAGS := $(LDFLAGS) -lvamp-sdk Chris@41: PLUGIN_LDFLAGS := $(LDFLAGS) $(PLUGIN_LDFLAGS) Chris@41: TEST_LDFLAGS := $(LDFLAGS) -lboost_unit_test_framework Chris@41: Chris@41: PLUGIN := cepstral-pitchtracker$(PLUGIN_EXT) Chris@0: Chris@35: HEADERS := CepstralPitchTracker.h \ Chris@52: AgentFeeder.h \ Chris@47: MeanFilter.h \ Chris@39: NoteHypothesis.h \ Chris@39: PeakInterpolator.h Chris@0: Chris@31: SOURCES := CepstralPitchTracker.cpp \ Chris@52: AgentFeeder.cpp \ Chris@35: NoteHypothesis.cpp \ Chris@41: PeakInterpolator.cpp Chris@41: Chris@41: PLUGIN_MAIN := libmain.cpp Chris@41: Chris@63: TESTS ?= test/test-meanfilter \ Chris@48: test/test-fft \ Chris@51: test/test-cepstrum \ Chris@51: test/test-peakinterpolator \ Chris@52: test/test-notehypothesis \ Chris@52: test/test-agentfeeder Chris@51: Chris@0: OBJECTS := $(SOURCES:.cpp=.o) Chris@0: OBJECTS := $(OBJECTS:.c=.o) Chris@0: Chris@41: PLUGIN_OBJECTS := $(OBJECTS) $(PLUGIN_MAIN:.cpp=.o) Chris@38: Chris@41: all: $(PLUGIN) $(TESTS) Chris@41: for t in $(TESTS); do echo "Running $$t"; ./"$$t" || exit 1; done Chris@41: Chris@41: $(PLUGIN): $(PLUGIN_OBJECTS) Chris@41: $(CXX) -o $@ $^ $(PLUGIN_LDFLAGS) Chris@41: Chris@41: test/test-notehypothesis: test/TestNoteHypothesis.o $(OBJECTS) Chris@41: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@41: Chris@52: test/test-agentfeeder: test/TestAgentFeeder.o $(OBJECTS) Chris@52: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@52: Chris@47: test/test-meanfilter: test/TestMeanFilter.o $(OBJECTS) Chris@47: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@47: Chris@51: test/test-cepstrum: test/TestCepstrum.o $(OBJECTS) Chris@51: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@51: Chris@48: test/test-fft: test/TestFFT.o $(OBJECTS) Chris@48: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@48: Chris@41: test/test-peakinterpolator: test/TestPeakInterpolator.o $(OBJECTS) Chris@41: $(CXX) -o $@ $^ $(TEST_LDFLAGS) Chris@0: Chris@0: clean: Chris@41: rm -f $(OBJECTS) test/*.o Chris@0: Chris@0: distclean: clean Chris@41: rm -f $(PLUGIN) $(TESTS) Chris@1: Chris@51: depend: Chris@51: makedepend -Y -fMakefile.inc *.cpp test/*.cpp *.h test/*.h Chris@51: Chris@41: # DO NOT DELETE Chris@41: Chris@51: CepstralPitchTracker.o: CepstralPitchTracker.h NoteHypothesis.h Cepstrum.h Chris@51: CepstralPitchTracker.o: MeanFilter.h PeakInterpolator.h Chris@41: libmain.o: CepstralPitchTracker.h NoteHypothesis.h Chris@41: NoteHypothesis.o: NoteHypothesis.h Chris@41: PeakInterpolator.o: PeakInterpolator.h Chris@51: test/TestCepstrum.o: Cepstrum.h Chris@51: test/TestMeanFilter.o: MeanFilter.h Chris@41: test/TestNoteHypothesis.o: NoteHypothesis.h Chris@41: test/TestPeakInterpolator.o: PeakInterpolator.h Chris@51: CepstralPitchTracker.o: NoteHypothesis.h