# Flags CC = emcc JSFLAGS += -Oz -s "EXTRA_EXPORTED_RUNTIME_METHODS=['lengthBytesUTF8','stringToUTF8']" -s "EXPORTED_FUNCTIONS=['_malloc','_free']" -s WASM=1 -s EXIT_RUNTIME=1 CFLAGS += $(JSFLAGS) -std=gnu99 -Wall -pedantic LFLAGS += -lm DEBUG = #DEBUG += --debug .PHONY: all all: webdice.js webdice.js: js-api.c expression.o lex.yy.o parser.tab.o $(CC) $^ $(CFLAGS) -o $@ $(LFLAGS) lex.yy.c lex.yy.h: lexer.l parser.tab.h expression.h flex ${DEBUG} --header-file=lex.yy.h $< parser.tab.c parser.tab.h: parser.y expression.h bison ${DEBUG} -d $< %.o: %.c $(CC) $(CFLAGS) -c $< native-test: native-test.c lex.yy.c parser.tab.c expression.c gcc -m32 -std=gnu99 -Wall -pedantic $^ -o $@ $(LFLAGS) -g -O0 .PHONY: clean clean: rm -rf *.o {lex.yy,parser.tab}.{c,h} webdice.js