CC := emcc CFLAGS += -O3 -Wall -Wextra -I../ \ -sNO_EXIT_RUNTIME=1 \ -sENVIRONMENT=web \ -sEXPORTED_FUNCTIONS=_main,_malloc,_free \ -sEXPORTED_RUNTIME_METHODS=UTF8ToString,stringToUTF8,lengthBytesUTF8 TARGET := dartboat_web SRC := $(wildcard *.c) ../comp.c ../match.c ../board.c ../checkouts.c all: $(TARGET) debug: CFLAGS := $(filter-out -O3,$(CFLAGS)) \ -fsanitize=address,undefined \ -gsource-map \ -sALLOW_MEMORY_GROWTH=1 \ -sASSERTIONS=2 comma := , debug: CFLAGS := $(patsubst -sEXPORTED_FUNCTIONS=%,-sEXPORTED_FUNCTIONS=$\ %$(comma)___lsan_do_recoverable_leak_check,$(CFLAGS)) debug: $(TARGET) $(TARGET): $(SRC) mkdir $(TARGET) $(CC) $(CFLAGS) $^ -o $(TARGET)/dartboat_wasm.js cp -r static/* $(TARGET)/ clean: rm -rf $(TARGET) .PHONY: all clean