CXX      ?= g++
CXXFLAGS ?= -std=c++11 -Wall -Wextra -g
SDLFLAGS := $(shell sdl2-config --cflags --libs) -lSDL2_ttf -lSDL2_image

EMSDK_DIR := /opt/emscripten

PLOT_SRC := plot.cpp

SRC ?= demo.cpp
OUT ?= demo

all:
	$(CXX) $(CXXFLAGS) -o $(OUT) $(SRC) $(PLOT_SRC) $(SDLFLAGS)

web:
	bash -lc 'cd $(EMSDK_DIR) && . ./emsdk_env.sh && cd "$(CURDIR)" && \
	em++ $(CXXFLAGS) -O2 \
		-o $(OUT).js $(SRC) $(PLOT_SRC) \
		-sUSE_SDL=2 \
		-sUSE_SDL_TTF=2 \
		-sUSE_SDL_IMAGE=2 \
		-sSDL2_IMAGE_FORMATS="[\"png\"]" \
		-sINITIAL_MEMORY=128MB \
		-sALLOW_MEMORY_GROWTH=0'

clean:
	rm -f $(OUT) *.o
