diff options
| author | Levent Kaya <levent@dev> | 2025-11-04 12:31:41 +0300 |
|---|---|---|
| committer | Levent Kaya <levent@dev> | 2025-11-04 12:31:41 +0300 |
| commit | a0f757ca37cb66a0ed34ba59421721bfbd3619cc (patch) | |
| tree | e2a64d7bee3e2682a70fd99617fa7996139be079 | |
| parent | ba0750006d48ea99156bc003bdce2f338148c70b (diff) | |
[feature] emu dev
| -rw-r--r-- | emu/.gitignore | 2 | ||||
| -rw-r--r-- | emu/Makefile | 47 | ||||
| -rw-r--r-- | emu/fbgl_preload.c | 9 |
3 files changed, 58 insertions, 0 deletions
diff --git a/emu/.gitignore b/emu/.gitignore new file mode 100644 index 0000000..cfd5574 --- /dev/null +++ b/emu/.gitignore @@ -0,0 +1,2 @@ +fbgl_viewer +libfbgl_preload.so diff --git a/emu/Makefile b/emu/Makefile new file mode 100644 index 0000000..339b85e --- /dev/null +++ b/emu/Makefile @@ -0,0 +1,47 @@ +CC = gcc +CFLAGS = -Wall -Wextra -O2 +LDFLAGS = -lSDL2 -ldl -lm + +.PHONY: all clean test + +all: libfbgl_preload.so fbgl_viewer fbgl_run.sh + +libfbgl_preload.so: fbgl_preload.c + @echo "Building preload library..." + $(CC) -shared -fPIC $(CFLAGS) $< -ldl -o $@ + +fbgl_viewer: fbgl_viewer.c + @echo "Building SDL viewer..." + $(CC) $(CFLAGS) $< $(LDFLAGS) -o $@ + +fbgl_run.sh: + @echo "Making runner script executable..." + @chmod +x fbgl_run.sh + +test: all test_fbgl + @echo "Running test program..." + ./fbgl_run.sh ./test_fbgl + +test_fbgl: test_fbgl.c fbgl.h + @echo "Compiling test program..." + $(CC) $(CFLAGS) test_fbgl.c -lm -o test_fbgl + +clean: + @echo "Cleaning up..." + rm -f libfbgl_preload.so fbgl_viewer test_fbgl + @# Clean up shared memory + @ipcrm -M $$(ftok /tmp F 2>/dev/null | awk '{print $$NF}') 2>/dev/null || true + +install: + @echo "Installing to /usr/local/bin..." + sudo cp libfbgl_preload.so /usr/local/lib/ + sudo cp fbgl_viewer /usr/local/bin/ + sudo cp fbgl_run.sh /usr/local/bin/fbgl-run + @echo "Done! You can now run: fbgl-run ./your_program" + +uninstall: + @echo "Uninstalling..." + sudo rm -f /usr/local/lib/libfbgl_preload.so + sudo rm -f /usr/local/bin/fbgl_viewer + sudo rm -f /usr/local/bin/fbgl-run + @echo "Done!" diff --git a/emu/fbgl_preload.c b/emu/fbgl_preload.c new file mode 100644 index 0000000..e8771e2 --- /dev/null +++ b/emu/fbgl_preload.c @@ -0,0 +1,9 @@ +#define _GNU_SOURCE +#include <dlfcn.h> +#include <fcntl.h> + +int open(const char *pathname, int flags); + +int open(const char *pathname, int flags) { + +} |
