annotate Makefile.inc.em @ 17:bac9bef19152

Allow user-specified EMFLAGS
author Chris Cannam
date Wed, 14 Sep 2016 14:58:34 +0100
parents d63f2ade049b
children 22e100563c4d
rev   line source
Chris@15 1
Chris@15 2 ADAPTER_HEADERS := VamPipeAdapter.h VamPipePluginLibrary.h
Chris@15 3 ADAPTER_SOURCES := VamPipePluginLibrary.cpp
Chris@15 4
Chris@15 5 SDK_DIR := ../vamp-plugin-sdk
Chris@15 6
Chris@15 7 SDK_SOURCES := \
Chris@15 8 $(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
Chris@15 9 $(SDK_DIR)/src/vamp-hostsdk/PluginChannelAdapter.cpp \
Chris@15 10 $(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \
Chris@15 11 $(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
Chris@15 12 $(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \
Chris@15 13 $(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
Chris@15 14 $(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \
Chris@15 15 $(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \
Chris@15 16 $(SDK_DIR)/src/vamp-hostsdk/Files.cpp \
Chris@15 17 $(SDK_DIR)/src/vamp-sdk/PluginAdapter.cpp \
Chris@15 18 $(SDK_DIR)/src/vamp-sdk/RealTime.cpp \
Chris@15 19 $(SDK_DIR)/src/vamp-sdk/FFT.cpp
Chris@15 20
Chris@15 21 OTHER_SOURCES := \
Chris@15 22 ../json/json11/json11.cpp
Chris@15 23
Chris@15 24 MODULE_EXT := .js
Chris@15 25 MODULE := $(MODULE_NAME)$(MODULE_EXT)
Chris@15 26 MODULE_SYMBOL := $(MODULE_NAME)Module
Chris@15 27
Chris@15 28 EMFLAGS := \
Chris@15 29 --memory-init-file 0 \
Chris@15 30 -s MODULARIZE=1 \
Chris@15 31 -s NO_FILESYSTEM=1 \
Chris@15 32 -s ERROR_ON_UNDEFINED_SYMBOLS=1 \
Chris@15 33 -s DISABLE_EXCEPTION_CATCHING=0 \
Chris@15 34 -s EXPORT_NAME="'$(MODULE_SYMBOL)'" \
Chris@17 35 -s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']" \
Chris@17 36 $(EMFLAGS)
Chris@15 37
Chris@15 38 SOURCES := $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
Chris@15 39 LDFLAGS := $(EMFLAGS)
Chris@15 40
Chris@15 41 CXX := em++
Chris@15 42
Chris@15 43 #OPTFLAGS := -g3
Chris@15 44 OPTFLAGS := -O3 -ffast-math
Chris@15 45
Chris@15 46 DEFINES := -DSINGLE_PRECISION_FFT $(DEFINES)
Chris@15 47
Chris@15 48 CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS)
Chris@15 49
Chris@15 50 INCPATH := -I$(SDK_DIR) -I.. -I../json $(INCPATH)
Chris@15 51
Chris@15 52 all: $(MODULE)
Chris@15 53
Chris@15 54 $(MODULE): $(SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
Chris@15 55 $(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(MODULE) \
Chris@15 56 $(SOURCES) $(SDK_SOURCES) $(MODULE_LDFLAGS) && \
Chris@15 57 ( echo "module.exports=$(MODULE_SYMBOL);" >> $(MODULE) )
Chris@15 58
Chris@15 59 clean:
Chris@15 60 rm -f $(MODULE)