Chris@15: Chris@15: ADAPTER_HEADERS := VamPipeAdapter.h VamPipePluginLibrary.h Chris@15: ADAPTER_SOURCES := VamPipePluginLibrary.cpp Chris@15: Chris@15: SDK_DIR := ../vamp-plugin-sdk Chris@15: Chris@15: SDK_SOURCES := \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginChannelAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \ Chris@15: $(SDK_DIR)/src/vamp-hostsdk/Files.cpp \ Chris@15: $(SDK_DIR)/src/vamp-sdk/PluginAdapter.cpp \ Chris@15: $(SDK_DIR)/src/vamp-sdk/RealTime.cpp \ Chris@15: $(SDK_DIR)/src/vamp-sdk/FFT.cpp Chris@15: Chris@15: OTHER_SOURCES := \ Chris@15: ../json/json11/json11.cpp Chris@15: Chris@15: MODULE_EXT := .js Chris@15: MODULE := $(MODULE_NAME)$(MODULE_EXT) Chris@15: MODULE_SYMBOL := $(MODULE_NAME)Module Chris@15: Chris@15: EMFLAGS := \ Chris@15: --memory-init-file 0 \ Chris@15: -s MODULARIZE=1 \ Chris@15: -s NO_FILESYSTEM=1 \ Chris@15: -s ERROR_ON_UNDEFINED_SYMBOLS=1 \ Chris@15: -s EXPORT_NAME="'$(MODULE_SYMBOL)'" \ Chris@17: -s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']" \ Chris@17: $(EMFLAGS) Chris@15: Chris@37: CXX_SOURCES := $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(SDK_SOURCES) $(OTHER_SOURCES) Chris@15: LDFLAGS := $(EMFLAGS) Chris@15: Chris@15: CXX := em++ Chris@37: CC := emcc Chris@15: Chris@15: #OPTFLAGS := -g3 Chris@15: OPTFLAGS := -O3 -ffast-math Chris@15: Chris@35: DEFINES := $(DEFINES) Chris@15: Chris@37: INCPATH := -I$(SDK_DIR) -I.. -I../json $(INCPATH) Chris@15: Chris@37: CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH) Chris@37: CFLAGS := -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH) Chris@37: Chris@37: CXX_OBJECTS := $(CXX_SOURCES:.cpp=.o) Chris@37: C_OBJECTS := $(C_SOURCES:.c=.o) Chris@37: OBJECTS := $(CXX_OBJECTS) $(C_OBJECTS) Chris@15: Chris@15: all: $(MODULE) Chris@15: Chris@37: $(MODULE): $(OBJECTS) Chris@37: $(CXX) $(OBTFLAGS) $(EMFLAGS) -o $(MODULE) $(OBJECTS) $(MODULE_LDFLAGS) && \ Chris@21: ( echo "if (typeof process === 'object') module.exports=$(MODULE_SYMBOL);" >> $(MODULE) ) Chris@15: Chris@15: clean: Chris@37: rm -f $(MODULE) $(OBJECTS)