refactor: restructure the project

This commit is contained in:
2026-04-11 18:33:11 +02:00
parent 53649df179
commit d871db2b2f
52 changed files with 25 additions and 41 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
**/raylib_*
**/demo.gif
demo_gen

View File

@@ -1,7 +1,7 @@
# used to generate the demos for all languages
demo_gen: _tools/demo_gen.c
gcc -Wall -Wextra -pedantic -I./_raylib-5.5_linux_amd64/include $^ -o $@ -L./_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm
demo_gen: tools/demo_gen.c
gcc -Wall -Wextra -pedantic -I./third_party/raylib-5.5_linux_amd64/include $^ -o $@ -L./third_party/raylib-5.5_linux_amd64/lib -l:libraylib.a -lm
.PHONY: run
run: demo_gen

View File

@@ -1,6 +0,0 @@
raylib_ada: main.adb
gnatmake main.adb -o raylib_ada \
-I../_raylib-5.5_linux_amd64/include \
-largs ../_raylib-5.5_linux_amd64/lib/libraylib.a \
-lm
rm -f main.ali main.o

View File

@@ -1,2 +0,0 @@
raylib_c: main.c
gcc main.c -Wall -Wextra -Werror -pedantic -o raylib_c -I../_raylib-5.5_linux_amd64/include -L../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm

View File

@@ -1,3 +0,0 @@
raylib_d: main.d
dmd main.d -of=./raylib_d ../_raylib-5.5_linux_amd64/lib/libraylib.a
rm ./raylib_d.o

6
languages/ada/Makefile Normal file
View File

@@ -0,0 +1,6 @@
raylib_ada: main.adb
gnatmake main.adb -o raylib_ada \
-I../raylib-5.5_linux_amd64/include \
-largs ../raylib-5.5_linux_amd64/lib/libraylib.a \
-lm
rm -f main.ali main.o

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

2
languages/c/Makefile Normal file
View File

@@ -0,0 +1,2 @@
raylib_c: main.c
gcc main.c -Wall -Wextra -Werror -pedantic -o raylib_c -I../raylib-5.5_linux_amd64/include -L../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -39,7 +39,7 @@ static class Program
public byte a;
}
private const string RAYLIB = "../_raylib-5.5_linux_amd64/lib/libraylib.so";
private const string RAYLIB = "../raylib-5.5_linux_amd64/lib/libraylib.so";
[DllImport(RAYLIB)] private static extern void InitWindow(int width, int height, string title);
[DllImport(RAYLIB)] private static extern void CloseWindow();

3
languages/d/Makefile Normal file
View File

@@ -0,0 +1,3 @@
raylib_d: main.d
dmd main.d -of=./raylib_d ../raylib-5.5_linux_amd64/lib/libraylib.a
rm ./raylib_d.o

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -1,8 +1,8 @@
package main
/*
#cgo CFLAGS: -I../_raylib-5.5_linux_amd64/include
#cgo LDFLAGS: -L../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm
#cgo CFLAGS: -I../raylib-5.5_linux_amd64/include
#cgo LDFLAGS: -L../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm
#include <raylib.h>
*/
import "C"

View File

@@ -3,7 +3,7 @@ package main
import "core:time"
foreign import raylib {
"../_raylib-5.5_linux_amd64/lib/libraylib.a",
"../raylib-5.5_linux_amd64/lib/libraylib.a",
"system:m",
}

View File

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -1,7 +1,7 @@
from ctypes import *
from time import time
rl = CDLL("../_raylib-5.5_linux_amd64/lib/libraylib.so")
rl = CDLL("../raylib-5.5_linux_amd64/lib/libraylib.so")
class Image(Structure):
_fields_ = [

View File

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 78 KiB

2
languages/rust/Makefile Normal file
View File

@@ -0,0 +1,2 @@
raylib_rust: main.rs
rustc --edition 2021 main.rs -C link-args="-L ../raylib-5.5_linux_amd64/lib -l:libraylib.a -lm" -o raylib_rust

View File

Before

Width:  |  Height:  |  Size: 16 MiB

After

Width:  |  Height:  |  Size: 16 MiB

2
languages/zig/Makefile Normal file
View File

@@ -0,0 +1,2 @@
raylib_zig: main.zig
zig build-exe main.zig -I../raylib-5.5_linux_amd64/include ../raylib-5.5_linux_amd64/lib/libraylib.a -lm -femit-bin=raylib_zig

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -1,2 +0,0 @@
raylib_rust: main.rs
rustc --edition 2021 main.rs -C link-args="-L ../_raylib-5.5_linux_amd64/lib -l:libraylib.a -lm" -o raylib_rust

View File

@@ -102,25 +102,12 @@ static void generate_gif(const char *output_gif, const char **logo_paths, int lo
system(TextFormat("rm -rf '%s'", tmpdir));
}
static void extract_dir(const char *logo_path, char *out, int maxlen) {
const char *slash = strchr(logo_path, '/');
if (slash) {
int len = (int)(slash - logo_path);
if (len >= maxlen) len = maxlen - 1;
strncpy(out, logo_path, len);
out[len] = '\0';
} else {
strncpy(out, logo_path, maxlen - 1);
out[maxlen - 1] = '\0';
}
}
int main(void) {
SetConfigFlags(FLAG_WINDOW_HIDDEN);
InitWindow(WINDOW_WIDTH, WINDOW_HEIGHT, "demo_gen");
glob_t gl;
if (glob("*/*_logo.png", 0, NULL, &gl) != 0) {
if (glob("languages/*/*_logo.png", 0, NULL, &gl) != 0) {
TraceLog(LOG_ERROR, "No logos found. Run from project root.");
CloseWindow();
return 1;
@@ -133,13 +120,9 @@ int main(void) {
// generate languages/**/demo.gif
for (size_t i = 0; i < gl.gl_pathc; i++) {
char dir[256];
extract_dir(gl.gl_pathv[i], dir, sizeof(dir));
const char *path = gl.gl_pathv[i];
char* output_path = strdup(TextFormat("%s/demo.gif", dir));
char *output_path = strdup(TextFormat("%s/demo.gif", GetDirectoryPath(path)));
generate_gif(output_path, &path, 1, 9999.0f, 4);
free(output_path);
}

View File

@@ -1,2 +0,0 @@
raylib_zig: main.zig
zig build-exe main.zig -I../_raylib-5.5_linux_amd64/include ../_raylib-5.5_linux_amd64/lib/libraylib.a -lm -femit-bin=raylib_zig