Mercurial > hg > piper-vamp-js
changeset 169:9c746a913d7f
Make the Emscripten output go into a temporary file, and make the UMD
module be the only "official" output left at the end
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 28 Jun 2017 09:26:29 +0100 |
parents | 830e16ef00ab |
children | 4fc5d24a3272 |
files | Makefile.inc |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- 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) +