view Makefile.example.emscripten @ 12:8fdafb8f1c45

Make base64/text selectable when serialising process and feature blocks; add base64 version as an output format for vampipe-convert; make VamPipePluginLibrary switch to returning base64 encoding as soon as it is fed any as input
author Chris Cannam
date Thu, 08 Sep 2016 15:27:48 +0100
parents 6c9bd65f70a5
children a313ce2577ea
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','_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