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 DISABLE_EXCEPTION_CATCHING=0 \ Chris@15: -s EXPORT_NAME="'$(MODULE_SYMBOL)'" \ Chris@17: -s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']" \ Chris@17: $(EMFLAGS) Chris@15: Chris@15: SOURCES := $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES) Chris@15: LDFLAGS := $(EMFLAGS) Chris@15: Chris@15: CXX := em++ Chris@15: Chris@15: #OPTFLAGS := -g3 Chris@15: OPTFLAGS := -O3 -ffast-math Chris@15: Chris@15: DEFINES := -DSINGLE_PRECISION_FFT $(DEFINES) Chris@15: Chris@15: CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) Chris@15: Chris@15: INCPATH := -I$(SDK_DIR) -I.. -I../json $(INCPATH) Chris@15: Chris@15: all: $(MODULE) Chris@15: Chris@15: $(MODULE): $(SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES) Chris@15: $(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(MODULE) \ Chris@15: $(SOURCES) $(SDK_SOURCES) $(MODULE_LDFLAGS) && \ Chris@21: ( echo "if (typeof process === 'object') module.exports=$(MODULE_SYMBOL);" >> $(MODULE) ) Chris@15: Chris@15: clean: Chris@15: rm -f $(MODULE)