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 EXPORT_NAME="'$(MODULE_SYMBOL)'" \
|
Chris@17
|
34 -s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']" \
|
Chris@17
|
35 $(EMFLAGS)
|
Chris@15
|
36
|
Chris@37
|
37 CXX_SOURCES := $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(SDK_SOURCES) $(OTHER_SOURCES)
|
Chris@15
|
38 LDFLAGS := $(EMFLAGS)
|
Chris@15
|
39
|
Chris@15
|
40 CXX := em++
|
Chris@37
|
41 CC := emcc
|
Chris@15
|
42
|
Chris@15
|
43 #OPTFLAGS := -g3
|
Chris@15
|
44 OPTFLAGS := -O3 -ffast-math
|
Chris@15
|
45
|
Chris@35
|
46 DEFINES := $(DEFINES)
|
Chris@15
|
47
|
Chris@37
|
48 INCPATH := -I$(SDK_DIR) -I.. -I../json $(INCPATH)
|
Chris@15
|
49
|
Chris@37
|
50 CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
|
Chris@37
|
51 CFLAGS := -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
|
Chris@37
|
52
|
Chris@37
|
53 CXX_OBJECTS := $(CXX_SOURCES:.cpp=.o)
|
Chris@37
|
54 C_OBJECTS := $(C_SOURCES:.c=.o)
|
Chris@37
|
55 OBJECTS := $(CXX_OBJECTS) $(C_OBJECTS)
|
Chris@15
|
56
|
Chris@15
|
57 all: $(MODULE)
|
Chris@15
|
58
|
Chris@37
|
59 $(MODULE): $(OBJECTS)
|
Chris@37
|
60 $(CXX) $(OBTFLAGS) $(EMFLAGS) -o $(MODULE) $(OBJECTS) $(MODULE_LDFLAGS) && \
|
Chris@21
|
61 ( echo "if (typeof process === 'object') module.exports=$(MODULE_SYMBOL);" >> $(MODULE) )
|
Chris@15
|
62
|
Chris@15
|
63 clean:
|
Chris@37
|
64 rm -f $(MODULE) $(OBJECTS)
|