diff Makefile.inc.em @ 37:e3b070ae24eb

Add QM Vamp Plugins build, and separate out object file builds (so we can use the C compiler for .c files). Problem is we are now building in the "client project"'s own directory, so conflicting with its own native .o files -- to be revised.
author Chris Cannam
date Fri, 30 Sep 2016 19:06:02 +0100
parents 34480328bf5c
children 946c965fd1eb
line wrap: on
line diff
--- a/Makefile.inc.em	Tue Sep 27 15:04:59 2016 +0100
+++ b/Makefile.inc.em	Fri Sep 30 19:06:02 2016 +0100
@@ -34,26 +34,31 @@
 	    	-s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']" \
 		$(EMFLAGS)
 
-SOURCES		:= $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
+CXX_SOURCES	:= $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(SDK_SOURCES) $(OTHER_SOURCES)
 LDFLAGS		:= $(EMFLAGS)
 
 CXX		:= em++
+CC		:= emcc
 
 #OPTFLAGS	:= -g3
 OPTFLAGS	:= -O3 -ffast-math
 
 DEFINES		:= $(DEFINES)
 
-CXXFLAGS	:= -std=c++11 -fPIC -fno-exceptions -Wall -Wextra $(DEFINES) $(OPTFLAGS)
+INCPATH		:= -I$(SDK_DIR) -I.. -I../json $(INCPATH)
 
-INCPATH		:= -I$(SDK_DIR) -I.. -I../json $(INCPATH)
+CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
+CFLAGS		:= -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCPATH)
+
+CXX_OBJECTS	:= $(CXX_SOURCES:.cpp=.o)
+C_OBJECTS	:= $(C_SOURCES:.c=.o)
+OBJECTS		:= $(CXX_OBJECTS) $(C_OBJECTS)
 
 all:		$(MODULE)
 
-$(MODULE):	$(SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
-		$(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(MODULE) \
-		       $(SOURCES) $(SDK_SOURCES) $(MODULE_LDFLAGS) && \
+$(MODULE):	$(OBJECTS)
+		$(CXX) $(OBTFLAGS) $(EMFLAGS) -o $(MODULE) $(OBJECTS) $(MODULE_LDFLAGS) && \
 		( echo "if (typeof process === 'object') module.exports=$(MODULE_SYMBOL);" >> $(MODULE) )
 
 clean:
-		rm -f $(MODULE)
+		rm -f $(MODULE) $(OBJECTS)