| 
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -25,7 +25,7 @@ | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			# Define required raylib variables
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			PROJECT_NAME       ?= raylib_examples | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RAYLIB_VERSION     ?= 3.8.0 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RAYLIB_VERSION     ?= 4.0.0 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			RAYLIB_PATH        ?= .. | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			# Define default options
 | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -185,6 +185,12 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        MAKE = mingw32-make | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_ANDROID) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    MAKE = mingw32-make | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_WEB) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    MAKE = mingw32-make | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			# Define compiler flags:
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			#  -O1                  defines optimization level
 | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -229,32 +235,6 @@ endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_DRM) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    CFLAGS += -std=gnu99 -DEGL_NO_X11 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_WEB) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -Os                        # size optimization | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -O2                        # optimization level 2, if used, also set --memory-init-file 0 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s USE_GLFW=3              # Use glfw3 library (context/input management) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ALLOW_MEMORY_GROWTH=1   # to allow memory resizing -> WARNING: Audio buffers could FAIL! | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s TOTAL_MEMORY=16777216   # to specify heap memory size (default = 16MB) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s USE_PTHREADS=1          # multithreading support | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s WASM=0                  # disable Web Assembly, emitted by default | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ASYNCIFY                # lets synchronous C/C++ code interact with asynchronous JS | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s FORCE_FILESYSTEM=1      # force filesystem to load/save files data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ASSERTIONS=1            # enable runtime checks for common memory allocation errors (-O1 and above turn it off) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # --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 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    CFLAGS += -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 --preload-file $(dir $<)resources@resources | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # 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. | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # Define a custom shell .html and output extension | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    CFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    EXT = .html | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			# Define include paths for required headers
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			# NOTE: Some external/extras libraries could be required (stb, physac, easings...)
 | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
					
						
					
				
				
				 | 
			
			 | 
			
			@ -303,7 +283,32 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			        LDFLAGS = -L. -L$(RAYLIB_INSTALL_PATH) -L$(RAYLIB_RELEASE_PATH) -L$(RAYLIB_PATH) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_WEB) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -Os                        # size optimization | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -O2                        # optimization level 2, if used, also set --memory-init-file 0 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s USE_GLFW=3              # Use glfw3 library (context/input management) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ALLOW_MEMORY_GROWTH=1   # to allow memory resizing -> WARNING: Audio buffers could FAIL! | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s TOTAL_MEMORY=16777216   # to specify heap memory size (default = 16MB) (67108864 = 64MB) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s USE_PTHREADS=1          # multithreading support | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s WASM=0                  # disable Web Assembly, emitted by default | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ASYNCIFY                # lets synchronous C/C++ code interact with asynchronous JS | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s FORCE_FILESYSTEM=1      # force filesystem to load/save files data | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # -s ASSERTIONS=1            # enable runtime checks for common memory allocation errors (-O1 and above turn it off) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # --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 += -s USE_GLFW=3 -s ASYNCIFY -s TOTAL_MEMORY=67108864 -s FORCE_FILESYSTEM=1 --preload-file $(dir $<)resources@resources | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # 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. | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			
 | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    # Define a custom shell .html and output extension | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    LDFLAGS += --shell-file $(RAYLIB_PATH)/src/shell.html | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    EXT = .html | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			ifeq ($(PLATFORM),PLATFORM_RPI) | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			    LDFLAGS += -L/opt/vc/lib | 
			
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
			endif | 
			
		
		
	
	
		
			
				| 
				
					
						
					
				
				
				
				 | 
			
			 | 
			
			
 |