master
Jason Staten 2 years ago
parent 779bf5c518
commit b5388531ea

@ -1,24 +1,25 @@
CC=g++
CFLAGS=-c -g -Wall -rdynamic -D_DEBUG
LDFLAGS=-g -rdynamic
CC=emcc
CFLAGS=-c -Wall -Oz
LDFLAGS=-Oz
SOURCES= \
TinyJS.cpp \
TinyJS_Functions.cpp \
TinyJS_MathFunctions.cpp
TinyJS_MathFunctions.cpp \
TinyJS_Eval.cpp
OBJECTS=$(SOURCES:.cpp=.o)
all: run_tests Script
all: run_tests tinyjs-eval.js
run_tests: run_tests.o $(OBJECTS)
$(CC) $(LDFLAGS) run_tests.o $(OBJECTS) -o $@
Script: Script.o $(OBJECTS)
$(CC) $(LDFLAGS) Script.o $(OBJECTS) -o $@
tinyjs-eval.js: TinyJS_Eval.o $(OBJECTS)
$(CC) $(LDFLAGS) TinyJS.o TinyJS_Eval.o --closure 1 -s AGGRESSIVE_VARIABLE_ELIMINATION -s MODULARIZE=1 -s EXPORTED_FUNCTIONS='["_eval"]' -s EXPORTED_RUNTIME_METHODS='["ccall", "cwrap"]' -o $@
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
rm -f run_tests Script run_tests.o Script.o $(OBJECTS)
rm -f tinyjs-eval.js run_tests run_tests.o *.wasm $(OBJECTS)

@ -0,0 +1,14 @@
#include "TinyJS.h"
extern "C" {
const char* eval(char* js_code) {
CTinyJS *js = new CTinyJS();
const std::string json = js->evaluate(js_code);
const char* cstr = json.c_str();
delete js;
return cstr;
}
}
Loading…
Cancel
Save