blob: 339b85e99c8134d6883ed9321901842c812b32db (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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!"
|