changeset 119:bab85491f6e1

Update build files for current layout, put obj files in o/ rather than polluting the external directories
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 10 Nov 2016 11:01:08 +0000
parents 523047216129
children 975719b38bdb
files Makefile.example.em Makefile.inc.em Makefile.silvet.em
diffstat 3 files changed, 34 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.example.em	Thu Nov 10 11:00:41 2016 +0000
+++ b/Makefile.example.em	Thu Nov 10 11:01:08 2016 +0000
@@ -11,6 +11,6 @@
 		$(EXAMPLE_DIR)/AmplitudeFollower.cpp \
 		$(EXAMPLE_DIR)/PowerSpectrum.cpp
 
-MODULE_SOURCE	:= example.cpp
+MODULE_SOURCE	:= examples/vamp-example-plugins.cpp
 
 include Makefile.inc.em
--- a/Makefile.inc.em	Thu Nov 10 11:00:41 2016 +0000
+++ b/Makefile.inc.em	Thu Nov 10 11:01:08 2016 +0000
@@ -1,20 +1,24 @@
 
-ADAPTER_HEADERS	:= PiperAdapter.h PiperPluginLibrary.h 
-ADAPTER_SOURCES	:= PiperPluginLibrary.cpp
-
+SRC_DIR		:= src
 SDK_DIR		:= ../vamp-plugin-sdk
 PIPERCPP_DIR    := ../piper-cpp
 
+ADAPTER_HEADERS	:= \
+		$(SRC_DIR)/PiperAdapter.h \
+		$(SRC_DIR)/PiperPluginLibrary.h 
+ADAPTER_SOURCES	:= \
+		$(SRC_DIR)/PiperPluginLibrary.cpp
+
 SDK_SOURCES	:= \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
 		$(SDK_DIR)/src/vamp-hostsdk/PluginChannelAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/Files.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/Files.cpp \
 		$(SDK_DIR)/src/vamp-sdk/PluginAdapter.cpp \
 		$(SDK_DIR)/src/vamp-sdk/RealTime.cpp \
 		$(SDK_DIR)/src/vamp-sdk/FFT.cpp
@@ -36,6 +40,7 @@
 		$(EMFLAGS)
 
 CXX_SOURCES	:= $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(SDK_SOURCES) $(OTHER_SOURCES)
+C_SOURCES	:= $(PLUGIN_C_SOURCES)
 LDFLAGS		:= $(EMFLAGS)
 
 CXX		:= em++
@@ -46,14 +51,25 @@
 
 DEFINES		:= $(DEFINES)
 
-INCPATH		:= -I$(SDK_DIR) -I$(PIPERCPP_DIR) $(INCPATH)
+INCPATH		:= -I$(SRC_DIR) -I$(SDK_DIR) -I$(PIPERCPP_DIR) $(INCPATH)
 
 CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
 CFLAGS		:= -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
 
+OBJDIR          := o
+
 CXX_OBJECTS	:= $(CXX_SOURCES:.cpp=.o)
 C_OBJECTS	:= $(C_SOURCES:.c=.o)
 OBJECTS		:= $(CXX_OBJECTS) $(C_OBJECTS)
+OBJECTS         := $(addprefix $(OBJDIR)/,$(realpath $(OBJECTS)))
+
+o/%.o:            %.cpp
+		mkdir -p $(dir $@)
+		$(CXX) $(INCPATH) $(CXXFLAGS) -o $@ $<
+
+o/%.o:            %.c
+		mkdir -p $(dir $@)
+		$(CC) $(INCPATH) $(CFLAGS) -o $@ $<
 
 all:		$(MODULE)
 
--- a/Makefile.silvet.em	Thu Nov 10 11:00:41 2016 +0000
+++ b/Makefile.silvet.em	Thu Nov 10 11:01:08 2016 +0000
@@ -39,12 +39,16 @@
 		$(CQSRC_DIR)/dsp/KaiserWindow.cpp \
 		$(CQSRC_DIR)/dsp/MathUtilities.cpp \
 		$(CQSRC_DIR)/dsp/Resampler.cpp \
-		$(CQSRC_DIR)/dsp/SincWindow.cpp \
+		$(CQSRC_DIR)/dsp/SincWindow.cpp
+
+KFFT_SOURCES    := \
 		$(KFFT_DIR)/kiss_fft.c \
 		$(KFFT_DIR)/tools/kiss_fftr.c
 
 PLUGIN_SOURCES	:= $(PLUGIN_SOURCES) $(BQVEC_SOURCES) $(FD_SOURCES) $(CQ_SOURCES)
 
+PLUGIN_C_SOURCES   := $(KFFT_SOURCES)
+
 MODULE_SOURCE	:= silvet.cpp
 
 include Makefile.inc.em