You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
60 lines
1.6 KiB
60 lines
1.6 KiB
# |
|
# Makefile to use with emscripten |
|
# See https://emscripten.org/docs/getting_started/downloads.html |
|
# for installation instructions. This Makefile assumes you have |
|
# loaded emscripten's environment. |
|
# |
|
# Running `make` will produce three files: |
|
# - example_emscripten.html |
|
# - example_emscripten.js |
|
# - example_emscripten.wasm |
|
# |
|
# All three are needed to run the demo. |
|
|
|
CC = emcc |
|
CXX = em++ |
|
|
|
EXE = example_emscripten.html |
|
SOURCES = main.cpp |
|
SOURCES += ../imgui_impl_sdl.cpp ../imgui_impl_opengl3.cpp |
|
SOURCES += ../../imgui.cpp ../../imgui_demo.cpp ../../imgui_draw.cpp ../../imgui_widgets.cpp |
|
OBJS = $(addsuffix .o, $(basename $(notdir $(SOURCES)))) |
|
UNAME_S := $(shell uname -s) |
|
|
|
EMS = -s USE_SDL=2 -s WASM=1 |
|
EMS += -s ALLOW_MEMORY_GROWTH=1 -s BINARYEN_TRAP_MODE=clamp |
|
EMS += -s DISABLE_EXCEPTION_CATCHING=1 -s NO_EXIT_RUNTIME=0 |
|
EMS += -s ASSERTIONS=1 -s NO_FILESYSTEM=1 |
|
#EMS += -s SAFE_HEAP=1 ## Adds overhead |
|
|
|
CPPFLAGS = -I../ -I../../ |
|
#CPPFLAGS += -g |
|
CPPFLAGS += -Wall -Wformat -Os |
|
CPPFLAGS += $(EMS) |
|
LIBS = $(EMS) |
|
LDFLAGS = --shell-file shell_minimal.html |
|
|
|
##--------------------------------------------------------------------- |
|
## BUILD RULES |
|
##--------------------------------------------------------------------- |
|
|
|
%.o:%.cpp |
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< |
|
|
|
%.o:../%.cpp |
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< |
|
|
|
%.o:../../%.cpp |
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $< |
|
|
|
%.o:../libs/gl3w/GL/%.c |
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
|
|
|
all: $(EXE) |
|
@echo Build complete for $(EXE) |
|
|
|
$(EXE): $(OBJS) |
|
$(CXX) -o $@ $^ $(LIBS) $(LDFLAGS) |
|
|
|
clean: |
|
rm -f $(EXE) $(OBJS) *.js *.wasm *.wasm.pre
|
|
|