summaryrefslogtreecommitdiff
path: root/emu/Makefile
diff options
context:
space:
mode:
authorLevent Kaya <levent@dev>2025-11-22 21:35:32 +0300
committerLevent Kaya <levent@dev>2025-11-22 21:35:32 +0300
commit479c3a301c73f12ccab54a45d86ebb20be600663 (patch)
tree4753b270b5df5daa6c77c5e64978a97ee448b071 /emu/Makefile
parent9fe39a2c099f8c4c4f0782716142404e6aad6080 (diff)
[feature] an emulator for viewing fbgl programs
Diffstat (limited to 'emu/Makefile')
-rw-r--r--emu/Makefile51
1 files changed, 14 insertions, 37 deletions
diff --git a/emu/Makefile b/emu/Makefile
index 339b85e..14b9465 100644
--- a/emu/Makefile
+++ b/emu/Makefile
@@ -1,47 +1,24 @@
CC = gcc
CFLAGS = -Wall -Wextra -O2
-LDFLAGS = -lSDL2 -ldl -lm
+LDFLAGS = -ldl
+SDL_FLAGS = $(shell pkg-config --cflags --libs sdl2)
-.PHONY: all clean test
+all: libfbgl_preload.so fbgl_viewer
-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 $@
+libfbgl_preload.so: fbgl_preload.c fbgl_preload.h
+ $(CC) -shared -fPIC $(CFLAGS) -o $@ fbgl_preload.c $(LDFLAGS)
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
+ $(CC) $(CFLAGS) -o $@ $< $(SDL_FLAGS)
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
+ rm -f libfbgl_preload.so fbgl_viewer
-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"
+install: all
+ @echo "Built successfully!"
+ @echo ""
+ @echo "Usage:"
+ @echo " 1. Terminal 1: ./fbgl_viewer"
+ @echo " 2. Terminal 2: LD_PRELOAD=./libfbgl_preload.so ./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!"
+.PHONY: all clean install