@@ -19,6 +19,8 @@ OS_DIR = \\
1919WARNINGS = -Wall -Werror
2020detected_OS = windows
2121
22+ NO_GLES = 1
23+
2224# not using a cross compiler
2325ifeq (,$(filter $(CC ) ,x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc x86_64-w64-mingw32-g++ /opt/msvc/bin/x64/cl.exe /opt/msvc/bin/x86/cl.exe) )
2426 detected_OS := $(shell uname 2>/dev/null || echo Unknown)
@@ -31,6 +33,7 @@ ifeq (,$(filter $(CC),x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc x86_64-w64-min
3133 WARNINGS = -Wall
3234 endif
3335 ifeq ($(detected_OS),Linux)
36+ NO_GLES = 0
3437 LIBS := -lXrandr -lX11 -lm -lGL -ldl -lpthread
3538 EXT =
3639 OS_DIR = /
@@ -53,16 +56,17 @@ ifneq (,$(filter $(CC),cl /opt/msvc/bin/x64/cl.exe /opt/msvc/bin/x86/cl.exe))
5356 WARNINGS =
5457 LIBS = /static
5558else ifeq ($(CC),emcc)
59+ NO_GLES = 0
5660 LINK_GL1 = -s LEGACY_GL_EMULATION -D LEGACY_GL_EMULATION -sGL_UNSAFE_OPTS=0
5761 LINK_GL3 = -s FULL_ES3
5862 LINK_GL2 = -s FULL_ES2
59- EXPORTED_JS = -s EXPORTED_RUNTIME_METHODS="['stringToNewUTF8']"
60- LIBS = -s WASM=1 -s ASYNCIFY -s USE_WEBGL2 -s GL_SUPPORT_EXPLICIT_SWAP_CONTROL=1 $(EXPORTED_JS)
63+ # --preload-file logo.png@logo.png
64+ PRELOAD = --embed-file logo.png
65+ EXPORTED_JS = $(PRELOAD) -s EXPORTED_RUNTIME_METHODS="['stringToNewUTF8']"
66+ LIBS = -s WASM=1 -s ASYNCIFY -s GL_SUPPORT_EXPLICIT_SWAP_CONTROL=1 $(EXPORTED_JS)
6167 EXT = .js
6268 NO_GLES = 0
6369 detected_OS = web
64-
65- LIBS += -DRSGL_GL_NO_LEGACY
6670else ifeq (,$(filter $(CC), g++ clang++ x86_64-w64-mingw32-g++))
6771 LIBS += -std=c99
6872endif
@@ -79,26 +83,40 @@ EXAMPLE_OUTPUTS = \
7983 basics/buffers \
8084 basics/gl11 \
8185 basics/framebuffer \
82-
86+ basics/gl2 \
8387
8488EXAMPLE_OUTPUTS_CUSTOM = \
8589 microui_demo/microui_demo \
90+ basics/gles2 \
91+ basics/gles3 \
8692
8793
8894all : xdg-shell.c $(EXAMPLE_OUTPUTS ) $(EXAMPLE_OUTPUTS_CUSTOM )
8995
9096examples : $(EXAMPLE_OUTPUTS ) $(EXAMPLE_OUTPUTS_CUSTOM )
9197
98+ basics/gles2 : basics/gles2.c ../RSGL.h ../renderers/* .h
99+ ifneq ($(NO_GLES ) , 1)
100+ $(CC) $(CFLAGS) -g2 $(WARNIGNS) -I../renderers/ -I../ -I./deps $< $(LIBS) -o $@$(EXT)
101+ else
102+ echo no OpenGL ES
103+ endif
92104
93- microui_demo/microui_demo : microui_demo/microui_demo.c microui_demo/* .c ../RSGL.h ../renderers/* .h
94- $(CC ) $(CFLAGS ) -g3 $(WARNIGNS ) microui_demo/microui.c -I../renderers/ -I../ -I./deps $< $(LIBS ) -o $@ $(EXT )
105+ basics/gles3 : basics/gles3.c ../RSGL.h ../renderers/* .h
106+ ifneq ($(NO_GLES ) , 1)
107+ $(CC) $(CFLAGS) -g2 $(WARNIGNS) -I../renderers/ -I../ -I./deps $< $(LIBS) -o $@$(EXT)
108+ else
109+ echo no OpenGL ES
110+ endif
95111
112+ microui_demo/microui_demo : microui_demo/microui_demo.c microui_demo/* .c ../RSGL.h ../renderers/* .h
113+ $(CC ) $(CFLAGS ) -g2 $(WARNIGNS ) microui_demo/microui.c -I../renderers/ -I../ -I./deps $< $(LIBS ) -o $@ $(EXT )
96114
97115advanced/glfw : advanced/glfw.c ../RSGL.h ../renderers/* .h
98- $(CC ) $(CFLAGS ) -g3 $(WARNIGNS ) -I../renderers/ -I../ -I./deps $< $(LIBS ) -lglfw -o $@ $(EXT )
116+ $(CC ) $(CFLAGS ) -g2 $(WARNIGNS ) -I../renderers/ -I../ -I./deps $< $(LIBS ) -lglfw -o $@ $(EXT )
99117
100118$(EXAMPLE_OUTPUTS ) : % : % .c ../RSGL.h ../renderers/* .h
101- $(CC ) $(WARNINGS ) -g3 -I../renderers/ -I../ -I./deps $< $(LIBS ) $(LINK_GL3 ) $(CFLAGS ) -o $@ $(EXT )
119+ $(CC ) $(WARNINGS ) -g2 -I../renderers/ -I../ -I./deps $< $(LIBS ) $(LINK_GL3 ) $(CFLAGS ) -o $@ $(EXT )
102120
103121debug : all
104122 @for exe in $(EXAMPLE_OUTPUTS ) ; do \
0 commit comments