aboutsummaryrefslogtreecommitdiff
path: root/deps/raylib/parser/Makefile
diff options
context:
space:
mode:
authorbonmas14 <bonmas14@gmail.com>2025-09-20 22:28:15 +0300
committerbonmas14 <bonmas14@gmail.com>2025-09-20 22:28:15 +0300
commitcdda4c4182c9ee068567529715e4a5c68a8efb58 (patch)
tree38a63f62a64018a2d35fc33354f8589fd33b7514 /deps/raylib/parser/Makefile
downloadc_wizard-cdda4c4182c9ee068567529715e4a5c68a8efb58.tar.gz
c_wizard-cdda4c4182c9ee068567529715e4a5c68a8efb58.zip
Init commit v1.0
Diffstat (limited to 'deps/raylib/parser/Makefile')
-rw-r--r--deps/raylib/parser/Makefile50
1 files changed, 50 insertions, 0 deletions
diff --git a/deps/raylib/parser/Makefile b/deps/raylib/parser/Makefile
new file mode 100644
index 0000000..1651924
--- /dev/null
+++ b/deps/raylib/parser/Makefile
@@ -0,0 +1,50 @@
+EXTENSION?=txt
+FORMAT?=DEFAULT
+.PHONY: all parse clean raylib_api
+
+
+raylib_parser: raylib_parser.c
+ cc raylib_parser.c -o raylib_parser
+
+raylib_api: ../src/raylib.h raylib_parser
+ 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
+
+raylib_api.$(EXTENSION): ../src/raylib.h raylib_parser
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.$(EXTENSION) -f $(FORMAT) -d RLAPI
+
+raymath_api.$(EXTENSION): ../src/raymath.h raylib_parser
+ ./raylib_parser -i ../src/raymath.h -o raymath_api.$(EXTENSION) -f $(FORMAT) -d RMAPI
+
+rlgl_api.$(EXTENSION): ../src/rlgl.h raylib_parser
+ ./raylib_parser -i ../src/rlgl.h -o rlgl_api.$(EXTENSION) -f $(FORMAT) -d RLAPI -t "RLGL IMPLEMENTATION"
+
+reasings_api.$(EXTENSION): ../examples/others/reasings.h raylib_parser
+ ./raylib_parser -i ../examples/others/reasings.h -o reasings_api.$(EXTENSION) -f $(FORMAT) -d EASEDEF
+
+rmem_api.$(EXTENSION): ../rmem.h raylib_parser
+ ./raylib_parser -i ../rmem.h -o rmem_api.$(EXTENSION) -f $(FORMAT) -d RMEMAPI -t "RMEM IMPLEMENTATION"
+
+physac_api.$(EXTENSION): ../physac.h raylib_parser
+ ./raylib_parser -i ../physac.h -o physac_api.$(EXTENSION) -f $(FORMAT) -d PHYSACDEF -t "PHYSAC IMPLEMENTATION"
+
+raygui_api.$(EXTENSION): ../raygui.h raylib_parser
+ ./raylib_parser -i ../raygui.h -o raygui_api.$(EXTENSION) -f $(FORMAT) -d RAYGUIAPI -t "RAYGUI IMPLEMENTATION"
+
+parse: raylib_api.$(EXTENSION) raymath_api.$(EXTENSION) rlgl_api.$(EXTENSION) rmem_api.$(EXTENSION) physac_api.$(EXTENSION) raygui_api.$(EXTENSION)
+
+
+# `make parse` (and therefore `make all) requires
+# rmem.h, physac.h and raygui.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: raylib_parser
+ 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:
+ rm -f raylib_parser *.json *.txt *.xml *.lua