|
|
@ -1,6 +1,6 @@ |
|
|
|
#**************************************************************************************************
|
|
|
|
#
|
|
|
|
# raylib makefile for Desktop platforms, Raspberry Pi, Android and HTML5
|
|
|
|
# raylib makefile for Web platform
|
|
|
|
#
|
|
|
|
# Copyright (c) 2013-2024 Ramon Santamaria (@raysan5)
|
|
|
|
#
|
|
|
@ -30,9 +30,12 @@ PLATFORM ?= PLATFORM_WEB |
|
|
|
|
|
|
|
# Define required raylib variables
|
|
|
|
PROJECT_NAME ?= raylib_examples |
|
|
|
RAYLIB_VERSION ?= 5.0.0 |
|
|
|
RAYLIB_VERSION ?= 5.5.0 |
|
|
|
RAYLIB_PATH ?= .. |
|
|
|
|
|
|
|
# Define raylib source code path
|
|
|
|
RAYLIB_SRC_PATH ?= ../src |
|
|
|
|
|
|
|
# Locations of raylib.h and libraylib.a/libraylib.so
|
|
|
|
# NOTE: Those variables are only used for PLATFORM_OS: LINUX, BSD
|
|
|
|
DESTDIR ?= /usr/local |
|
|
@ -52,6 +55,11 @@ USE_EXTERNAL_GLFW ?= FALSE |
|
|
|
# NOTE: This variable is only used for PLATFORM_OS: LINUX
|
|
|
|
USE_WAYLAND_DISPLAY ?= FALSE |
|
|
|
|
|
|
|
# PLATFORM_WEB: Default properties
|
|
|
|
BUILD_WEB_ASYNCIFY ?= TRUE |
|
|
|
BUILD_WEB_SHELL ?= $(RAYLIB_PATH)/src/shell.html |
|
|
|
BUILD_WEB_HEAP_SIZE ?= 134217728 |
|
|
|
|
|
|
|
# Use WebGL2 backend (OpenGL 3.0)
|
|
|
|
# WARNING: Requires raylib compiled with GRAPHICS_API_OPENGL_ES3
|
|
|
|
USE_WEBGL2 ?= FALSE |
|
|
@ -266,13 +274,17 @@ ifeq ($(PLATFORM),PLATFORM_WEB) |
|
|
|
# -sASYNCIFY # lets synchronous C/C++ code interact with asynchronous JS |
|
|
|
# -sFORCE_FILESYSTEM=1 # force filesystem to load/save files data |
|
|
|
# -sASSERTIONS=1 # enable runtime checks for common memory allocation errors (-O1 and above turn it off) |
|
|
|
# -sEXPORTED_RUNTIME_METHODS=ccall # require exporting some LEGACY_RUNTIME functions, ccall() is required by miniaudio |
|
|
|
# -sGL_ENABLE_GET_PROC_ADDRESS # enable using the *glGetProcAddress() family of functions, required for extensions loading |
|
|
|
# --profiling # include information for code profiling |
|
|
|
# --memory-init-file 0 # to avoid an external memory initialization code file (.mem) |
|
|
|
# --preload-file resources # specify a resources folder for data compilation |
|
|
|
# --source-map-base # allow debugging in browser with source map |
|
|
|
LDFLAGS += -sUSE_GLFW=3 -sASYNCIFY -sEXPORTED_RUNTIME_METHODS=ccall |
|
|
|
LDFLAGS += -sUSE_GLFW=3 -sEXPORTED_RUNTIME_METHODS=ccall |
|
|
|
|
|
|
|
# Build using asyncify |
|
|
|
ifeq ($(BUILD_WEB_ASYNCIFY),TRUE) |
|
|
|
LDFLAGS += -sASYNCIFY |
|
|
|
endif |
|
|
|
|
|
|
|
# NOTE: Flags required for WebGL 2.0 (OpenGL ES 3.0) |
|
|
|
# WARNING: Requires raylib compiled with GRAPHICS_API_OPENGL_ES3 |
|
|
@ -280,17 +292,20 @@ ifeq ($(PLATFORM),PLATFORM_WEB) |
|
|
|
LDFLAGS += -sMIN_WEBGL_VERSION=2 -sMAX_WEBGL_VERSION=2 |
|
|
|
endif |
|
|
|
|
|
|
|
# Add debug mode flags if required |
|
|
|
ifeq ($(BUILD_MODE),DEBUG) |
|
|
|
LDFLAGS += -sASSERTIONS=1 --profiling |
|
|
|
endif |
|
|
|
|
|
|
|
# Define a custom shell .html and output extension |
|
|
|
LDFLAGS += --shell-file $(BUILD_WEB_SHELL) |
|
|
|
EXT = .html |
|
|
|
|
|
|
|
# NOTE: Simple raylib examples are compiled to be interpreter with asyncify, that way, |
|
|
|
# we can compile same code for ALL platforms with no change required, but, working on bigger |
|
|
|
# projects, code needs to be refactored to avoid a blocking while() loop, moving Update and Draw |
|
|
|
# logic to a self contained function: UpdateDrawFrame(), check core_basic_window_web.c for reference. |
|
|
|
|
|
|
|
# NOTE: Additional compilate flags for TOTAL_MEMORY, FORCE_FILESYSTEM and resources loading |
|
|
|
# are specified per-example for optimization |
|
|
|
|
|
|
|
# Define a custom shell .html and output extension |
|
|
|
LDFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html |
|
|
|
EXT = .html |
|
|
|
endif |
|
|
|
|
|
|
|
# Define libraries required on linking: LDLIBS
|
|
|
@ -332,7 +347,8 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) |
|
|
|
ifeq ($(PLATFORM_OS),BSD) |
|
|
|
# Libraries for FreeBSD, OpenBSD, NetBSD, DragonFly desktop compiling |
|
|
|
# NOTE: Required packages: mesa-libs |
|
|
|
LDLIBS = -lraylib -lGL -lpthread -lm |
|
|
|
LDFLAGS += -L/usr/X11R7/lib -Wl,-R/usr/X11R7/lib |
|
|
|
LDLIBS = -lraylib -lGL -lm -lpthread |
|
|
|
|
|
|
|
# On XWindow requires also below libraries |
|
|
|
LDLIBS += -lX11 -lXrandr -lXinerama -lXi -lXxf86vm -lXcursor |
|
|
@ -408,7 +424,8 @@ SHAPES = \ |
|
|
|
shapes/shapes_logo_raylib_anim \
|
|
|
|
shapes/shapes_rectangle_scaling \
|
|
|
|
shapes/shapes_splines_drawing \
|
|
|
|
shapes/shapes_top_down_lights |
|
|
|
shapes/shapes_top_down_lights \
|
|
|
|
shapes/shapes_rectangle_advanced |
|
|
|
|
|
|
|
TEXTURES = \
|
|
|
|
textures/textures_background_scrolling \
|
|
|
@ -417,6 +434,7 @@ TEXTURES = \ |
|
|
|
textures/textures_draw_tiled \
|
|
|
|
textures/textures_fog_of_war \
|
|
|
|
textures/textures_gif_player \
|
|
|
|
textures/textures_image_channel \
|
|
|
|
textures/textures_image_drawing \
|
|
|
|
textures/textures_image_generation \
|
|
|
|
textures/textures_image_kernel \
|
|
|
@ -455,6 +473,7 @@ MODELS = \ |
|
|
|
models/models_animation \
|
|
|
|
models/models_gpu_skinning \
|
|
|
|
models/models_billboard \
|
|
|
|
models/models_bone_socket \
|
|
|
|
models/models_box_collisions \
|
|
|
|
models/models_cubicmap \
|
|
|
|
models/models_draw_cube_texture \
|
|
|
@ -476,6 +495,7 @@ MODELS = \ |
|
|
|
|
|
|
|
SHADERS = \
|
|
|
|
shaders/shaders_basic_lighting \
|
|
|
|
shaders/shaders_basic_pbr \
|
|
|
|
shaders/shaders_custom_uniform \
|
|
|
|
shaders/shaders_deferred_render \
|
|
|
|
shaders/shaders_eratosthenes \
|
|
|
|