diff Makefile.inc.em @ 50:afaeb2258678

Update build files for current layout, put obj files in o/ rather than polluting the external directories
author Chris Cannam
date Thu, 10 Nov 2016 11:01:08 +0000
parents 90bf9d9f9c95
children
line wrap: on
line diff
--- 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)