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@15
|
35 -s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']"
|
Chris@15
|
36
|
Chris@15
|
37 SOURCES := $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
|
Chris@15
|
38 LDFLAGS := $(EMFLAGS)
|
Chris@15
|
39
|
Chris@15
|
40 CXX := em++
|
Chris@15
|
41
|
Chris@15
|
42 #OPTFLAGS := -g3
|
Chris@15
|
43 OPTFLAGS := -O3 -ffast-math
|
Chris@15
|
44
|
Chris@15
|
45 DEFINES := -DSINGLE_PRECISION_FFT $(DEFINES)
|
Chris@15
|
46
|
Chris@15
|
47 CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS)
|
Chris@15
|
48
|
Chris@15
|
49 INCPATH := -I$(SDK_DIR) -I.. -I../json $(INCPATH)
|
Chris@15
|
50
|
Chris@15
|
51 all: $(MODULE)
|
Chris@15
|
52
|
Chris@15
|
53 $(MODULE): $(SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
|
Chris@15
|
54 $(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(MODULE) \
|
Chris@15
|
55 $(SOURCES) $(SDK_SOURCES) $(MODULE_LDFLAGS) && \
|
Chris@15
|
56 ( echo "module.exports=$(MODULE_SYMBOL);" >> $(MODULE) )
|
Chris@15
|
57
|
Chris@15
|
58 clean:
|
Chris@15
|
59 rm -f $(MODULE)
|