| 
																	
																	
																	
																 | 
																@ -0,0 +1,118 @@ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																EXTENSION?=txt | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																FORMAT?=DEFAULT | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																.PHONY: all parse clean raylib_api | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Determine PLATFORM_OS
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# No uname.exe on MinGW!, but OS=Windows_NT on Windows!
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# ifeq ($(UNAME),Msys) -> Windows
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(OS),Windows_NT) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    PLATFORM_OS = WINDOWS | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    UNAMEOS = $(shell uname) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),Linux) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = LINUX | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),FreeBSD) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = BSD | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),OpenBSD) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = BSD | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),NetBSD) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = BSD | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),DragonFly) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = BSD | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(UNAMEOS),Darwin) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        PLATFORM_OS = OSX | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Define default C compiler: CC
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#------------------------------------------------------------------------------------------------
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																CC = gcc | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(PLATFORM_OS),OSX) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    # OSX default compiler | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    CC = clang | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(PLATFORM_OS),BSD) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    # FreeBSD, OpenBSD, NetBSD, DragonFly default compiler | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    CC = clang | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Define default make program: MAKE
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#------------------------------------------------------------------------------------------------
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																MAKE ?= make | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(PLATFORM_OS),WINDOWS) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    MAKE = mingw32-make | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Define compiler flags: CFLAGS
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#------------------------------------------------------------------------------------------------
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																CFLAGS = -Wall -std=c99 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#CFLAGS += -Wextra -Wmissing-prototypes -Wstrict-prototypes
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(BUILD_MODE),DEBUG) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    CFLAGS += -g -D_DEBUG | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    ifeq ($(PLATFORM_OS),OSX) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        CFLAGS += -O2 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																        CFLAGS += -s -O2 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																ifeq ($(PLATFORM_OS),WINDOWS) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    # NOTE: The resource .rc file contains windows executable icon and properties | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																    CFLAGS += rlparser.rc.data | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																endif | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Define processes to execute
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																#------------------------------------------------------------------------------------------------
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser compilation
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																rlparser: rlparser.c | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	$(CC) rlparser.c -o rlparser $(CFLAGS) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [raylib.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																raylib_api: ../../src/raylib.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=DEFAULT EXTENSION=txt $(MAKE) raylib_api.txt | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=JSON EXTENSION=json $(MAKE) raylib_api.json | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=XML EXTENSION=xml $(MAKE) raylib_api.xml | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=LUA EXTENSION=lua $(MAKE) raylib_api.lua | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [raylib.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																raylib_api.$(EXTENSION): ../../src/raylib.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	./rlparser -i ../../src/raylib.h -o raylib_api.$(EXTENSION) -f $(FORMAT) -d RLAPI | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [rlgl.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																rlgl_api.$(EXTENSION): ../../src/rlgl.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	./rlparser -i ../../src/rlgl.h -o rlgl_api.$(EXTENSION) -f $(FORMAT) -d RLAPI -t "RLGL IMPLEMENTATION" | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [raymath.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																raymath_api.$(EXTENSION): ../../src/raymath.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	./rlparser -i ../../src/raymath.h -o raymath_api.$(EXTENSION) -f $(FORMAT) -d RMAPI | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [reasings.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																reasings_api.$(EXTENSION): ../../examples/others/reasings.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	./rlparser -i ../../examples/others/reasings.h -o reasings_api.$(EXTENSION) -f $(FORMAT) -d EASEDEF | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# rlparser execution: [raygui.h] parse, generating some output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																raygui_api.$(EXTENSION): ../raygui.h rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	./rlparser -i ../raygui.h -o raygui_api.$(EXTENSION) -f $(FORMAT) -d RAYGUIAPI -t "RAYGUI IMPLEMENTATION" | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Target to generate required APIs output files
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																parse: raylib_api.$(EXTENSION) raymath_api.$(EXTENSION) rlgl_api.$(EXTENSION) raygui_api.$(EXTENSION) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# "make parse" (and therefore "make all") requires
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# raygui.h and reasings_api.h to exist in the correct directory
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# API files for individual headers can be created likeso, provided the relevant header exists:
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# FORMAT=JSON EXTENSION=json make raygui_api.json
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																all: rlparser | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=DEFAULT EXTENSION=txt $(MAKE) parse | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=JSON EXTENSION=json $(MAKE) parse | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=XML EXTENSION=xml $(MAKE) parse | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	FORMAT=LUA EXTENSION=lua $(MAKE) parse | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																# Clean rlparser and generated output files 
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																clean: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	rm -f rlparser *.json *.txt *.xml *.lua |