view Makefile.example.emscripten @ 13:a313ce2577ea process-noparse

Introduce "raw" process call in which the input is not serialised
author Chris Cannam
date Fri, 09 Sep 2016 15:41:35 +0100
parents 8fdafb8f1c45
children
line wrap: on
line source

ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp

SDK_DIR		:= ../vamp-plugin-sdk

PLUGIN_SOURCES	:= \
		$(SDK_DIR)/examples/ZeroCrossing.cpp \
		$(SDK_DIR)/examples/SpectralCentroid.cpp \
		$(SDK_DIR)/examples/PercussionOnsetDetector.cpp \
		$(SDK_DIR)/examples/FixedTempoEstimator.cpp \
		$(SDK_DIR)/examples/AmplitudeFollower.cpp \
		$(SDK_DIR)/examples/PowerSpectrum.cpp

SDK_SOURCES	:= \
        	$(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-sdk/PluginAdapter.cpp \
		$(SDK_DIR)/src/vamp-sdk/RealTime.cpp \
		$(SDK_DIR)/src/vamp-sdk/FFT.cpp

OTHER_SOURCES	:= \
		../json/json11/json11.cpp

EMFLAGS		:= \
		--memory-init-file 0 \
		-s MODULARIZE=1 \
		-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
		-s DISABLE_EXCEPTION_CATCHING=0 \
	    	-s EXPORT_NAME="'ExampleModule'" \
	    	-s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcess','_vampipeFreeJson']"

#		-s NO_FILESYSTEM=1 \
# no longer exists?		-s NO_BROWSER=1 

EXAMPLE_EXT	:= .js
EXAMPLE		:= example$(EXAMPLE_EXT)
EXAMPLE_SOURCE	:= example.cpp
EXAMPLE_SOURCES	:= $(EXAMPLE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
EXAMPLE_LDFLAGS	:= $(EMFLAGS)

CXX		:= em++

#OPTFLAGS	:= -g3
OPTFLAGS	:= -O3 -ffast-math

DEFINES		:= -DSINGLE_PRECISION_FFT

CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS)

INCPATH		:= -I$(SDK_DIR) -I.. -I../json

all:		$(EXAMPLE)

$(EXAMPLE):	$(EXAMPLE_SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
		$(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(EXAMPLE) \
		       $(EXAMPLE_SOURCES) $(SDK_SOURCES) $(EXAMPLE_LDFLAGS) && \
		( echo "module.exports=ExampleModule;" >> $(EXAMPLE) )

clean:
		rm -f $(EXAMPLE) $(EXAMPLE).map