11LIBSOURCE = $(BUILDROOT ) /LibSource
22SOURCE = $(BUILDROOT ) /Source
33GENSOURCE = $(BUILD ) /Source
4+ DAISYSP = $(BUILDROOT ) /Libraries/DaisySP/Source
45
56# emscripten
67EMCC ?= emcc
@@ -9,7 +10,17 @@ EMCCFLAGS += -fno-rtti -fno-exceptions
910# EMCCFLAGS += -s ASSERTIONS=1 -Wall
1011EMCCFLAGS += -I$(SOURCE ) -I$(PATCHSOURCE ) -I$(LIBSOURCE ) -I$(GENSOURCE ) -I$(BUILD )
1112EMCCFLAGS += -I$(BUILD ) /Source
12- EMCCFLAGS += -ILibraries -ILibraries/KissFFT -DHV_SIMD_NONE
13+ EMCCFLAGS += -I$(DAISYSP )
14+ EMCCFLAGS += -I$(DAISYSP ) /Control
15+ EMCCFLAGS += -I$(DAISYSP ) /Drums
16+ EMCCFLAGS += -I$(DAISYSP ) /Dynamics
17+ EMCCFLAGS += -I$(DAISYSP ) /Effects
18+ EMCCFLAGS += -I$(DAISYSP ) /Filters
19+ EMCCFLAGS += -I$(DAISYSP ) /Noise
20+ EMCCFLAGS += -I$(DAISYSP ) /PhysicalModeling
21+ EMCCFLAGS += -I$(DAISYSP ) /Synthesis
22+ EMCCFLAGS += -I$(DAISYSP ) /Utility
23+ EMCCFLAGS += -ILibraries -ILibraries/KissFFT -DHV_SIMD_NONE -DDSY_CORE_DSP -DDSY_CUSTOM_DSP
1324EMCCFLAGS += -Wno-warn-absolute-paths
1425EMCCFLAGS += -Wno-unknown-warning-option
1526EMCCFLAGS += --memory-init-file 0 # don't create separate memory init file .mem
@@ -39,6 +50,9 @@ LDFLAGS = $(EMCCFLAGS)
3950EMCC_OBJS = $(addprefix $(WEBDIR ) /, $(notdir $(CPP_SRC:.cpp=.o ) ) )
4051EMCC_OBJS += $(addprefix $(WEBDIR ) /, $(notdir $(C_SRC:.c=.o ) ) )
4152
53+ EMDAISYSP_CPP_SRC = $(wildcard $(DAISYSP ) /* /* .cpp)
54+ EMDAISYSP_OBJS = $(addprefix $(WEBDIR ) /, $(notdir $(EMDAISYSP_CPP_SRC:.cpp=.o ) ) )
55+
4256PATCH_C_SRC = $(wildcard $(GENSOURCE ) /* .c)
4357PATCH_CPP_SRC = $(wildcard $(GENSOURCE ) /* .cpp) $(SOURCE ) /PatchProgram.cpp
4458PATCH_C_SRC += $(wildcard $(PATCHSOURCE ) /* .c)
@@ -61,6 +75,16 @@ vpath %.s $(PATCHSOURCE)
6175vpath % .cpp $(GENSOURCE )
6276vpath % .c $(GENSOURCE )
6377vpath % .s $(GENSOURCE )
78+ vpath % .cpp $(DAISYSP )
79+ vpath % .cpp $(DAISYSP ) /Control
80+ vpath % .cpp $(DAISYSP ) /Drums
81+ vpath % .cpp $(DAISYSP ) /Dynamics
82+ vpath % .cpp $(DAISYSP ) /Effects
83+ vpath % .cpp $(DAISYSP ) /Filters
84+ vpath % .cpp $(DAISYSP ) /Noise
85+ vpath % .cpp $(DAISYSP ) /PhysicalModeling
86+ vpath % .cpp $(DAISYSP ) /Synthesis
87+ vpath % .cpp $(DAISYSP ) /Utility
6488vpath % .cpp WebSource
6589vpath % .c Libraries/KissFFT
6690
@@ -75,7 +99,7 @@ PHONY: libs web minify
7599UGLIFYJS = Tools/node_modules/uglifyjs/bin/uglifyjs
76100
77101$(WEBDIR ) /$(TARGET ) .js : $(PATCH_OBJS )
78- $(EMCC ) $(LDFLAGS ) $(PATCH_OBJS ) -o $(WEBDIR ) /$(TARGET ) .js Libraries/libowlweb.a
102+ $(EMCC ) $(LDFLAGS ) $(PATCH_OBJS ) -o $(WEBDIR ) /$(TARGET ) .js Libraries/libowlweb.a -Wl,--whole-archive Libraries/libdaisyspweb.a -Wl,--no-whole-archive
79103 @cp WebSource/* .js WebSource/* .html $(WEBDIR )
80104
81105$(WEBDIR ) /% .min.js : $(WEBDIR ) /% .js
@@ -85,7 +109,10 @@ $(WEBDIR)/%.min.js: $(WEBDIR)/%.js
85109Libraries/libowlweb.a : $(EMCC_OBJS )
86110 $(EMAR ) rcs $@ $^
87111
88- libs : Libraries/libowlweb.a
112+ Libraries/libdaisyspweb.a : $(EMDAISYSP_OBJS )
113+ $(EMAR ) rcs $@ $^
114+
115+ libs : Libraries/libowlweb.a Libraries/libdaisyspweb.a
89116
90117# compile and generate dependency info
91118$(WEBDIR ) /% .o : % .c
0 commit comments