# HG changeset patch # User Chris Cannam # Date 1498638389 -3600 # Node ID 9c746a913d7fe1556ee9b711b10d0cb292a4c793 # Parent 830e16ef00abf9489a0d54c4cfbf2124499f7f4b Make the Emscripten output go into a temporary file, and make the UMD module be the only "official" output left at the end diff -r 830e16ef00ab -r 9c746a913d7f Makefile.inc --- a/Makefile.inc Wed Jun 28 09:06:09 2017 +0100 +++ b/Makefile.inc Wed Jun 28 09:26:29 2017 +0100 @@ -81,9 +81,9 @@ NODE ?= node -EM_MODULE_EXT := .js +EM_MODULE_T_EXT := .tmp.js EM_MODULE_U_EXT := .umd.js -EM_MODULE := $(MODULE_NAME)$(EM_MODULE_EXT) +EM_MODULE_T := $(MODULE_NAME)$(EM_MODULE_T_EXT) EM_MODULE_U := $(MODULE_NAME)$(EM_MODULE_U_EXT) EM_MODULE_SYMBOL := $(MODULE_NAME)Module @@ -108,7 +108,7 @@ DEFINES := $(DEFINES) INCLUDES := -I$(SRC_DIR) -I$(SDK_DIR) -I$(PIPERCPP_DIR) -I$(PIPERCPP_DIR)/ext $(INCLUDES) -em: $(EM_MODULE) $(EM_MODULE_U) +em: $(EM_MODULE_U) em: CXX := em++ em: CC := emcc em: CXXFLAGS := -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS) $(EMFLAGS) $(INCLUDES) @@ -135,12 +135,11 @@ mkdir -p $(dir $@) $(CC) -c $(INCLUDES) $(CFLAGS) -o $@ $< -$(EM_MODULE): $(OBJECTS) - $(CXX) $(OPTFLAGS) -o $@ $^ $(LDFLAGS) - -$(EM_MODULE_U): $(EM_MODULE) +$(EM_MODULE_U): $(OBJECTS) + $(CXX) $(OPTFLAGS) -o $(EM_MODULE_T) $^ $(LDFLAGS) && \ ( echo "(function(root,factory){if(typeof define==='function'&&define.amd){define([],factory);}else if(typeof module==='object'&&module.exports){module.exports=factory();}else{root['$(EM_MODULE_SYMBOL)']=factory();}}(this,function(){" > $(EM_MODULE_U) ) && \ - cat $(EM_MODULE) >> $(EM_MODULE_U) && \ + cat $(EM_MODULE_T) >> $(EM_MODULE_U) && \ + rm $(EM_MODULE_T) && \ ( echo ; echo "return $(EM_MODULE_SYMBOL);}));" >> $(EM_MODULE_U) ) $(SO_MODULE): $(OBJECTS) @@ -153,4 +152,5 @@ rm -f $(OBJECTS) distclean: clean - rm -f $(EM_MODULE) $(SO_MODULE) \ No newline at end of file + rm -f $(EM_MODULE_T) $(EM_MODULE_U) $(SO_MODULE) +