commit c345742

neauoire  ·  2023-08-11 04:44:28 +0000 UTC
parent c1fd75a
Replaced shell script with makefile
2 files changed,  +40, -63
+0, -63
 1@@ -1,63 +0,0 @@
 2-#!/bin/sh -e
 3-
 4-RELEASE_FLAGS="-DNDEBUG -O2 -g0 -s"
 5-DEBUG_FLAGS="-std=c89 -D_POSIX_C_SOURCE=199309L -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Wvla -g -Og -fsanitize=address -fsanitize=undefined"
 6-CORE_DEVICES="src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c -lpthread"
 7-EMU_INC="${CORE_DEVICES} src/devices/screen.c src/devices/controller.c src/devices/mouse.c src/uxn11.c -o bin/uxn11 -lX11"
 8-CLI_INC="${CORE_DEVICES} src/uxncli.c -o bin/uxncli"
 9-
10-# find X11 libs on various systems
11-if [ -e /usr/X11R6 ]; then
12-	# OpenBSD
13-	RELEASE_FLAGS="-L/usr/X11R6/lib/ -I/usr/X11R6/include/ $RELEASE_FLAGS"
14-	DEBUG_FLAGS="-L/usr/X11R6/lib/ -I/usr/X11R6/include/ $DEBUG_FLAGS"
15-fi
16-
17-if [ "${1}" = '--format' ];
18-then
19-	clang-format -i src/uxn11.c
20-	clang-format -i src/uxnasm.c
21-	clang-format -i src/uxncli.c
22-	clang-format -i src/devices/*
23-fi
24-
25-mkdir -p bin
26-
27-cc ${RELEASE_FLAGS} src/uxnasm.c -o bin/uxnasm
28-
29-if [ "${1}" = '--debug' ];
30-then
31-	cc ${C_FLAGS} ${LD_FLAGS} ${DEBUG_FLAGS} ${EMU_INC}
32-	cc ${C_FLAGS} ${LD_FLAGS} ${DEBUG_FLAGS} ${CLI_INC}
33-else
34-	cc ${C_FLAGS} ${LD_FLAGS} ${RELEASE_FLAGS} ${EMU_INC}
35-	cc ${C_FLAGS} ${LD_FLAGS} ${RELEASE_FLAGS} ${CLI_INC}
36-fi
37-
38-if [ "${1}" = '--install' ];
39-then
40-	cp bin/uxn11 bin/uxnasm bin/uxncli $HOME/bin/
41-fi
42-
43-# bin/uxnasm etc/polycat.tal bin/polycat.rom
44-# bin/uxn11 bin/polycat.rom
45-# bin/uxnasm etc/friend.tal bin/friend.rom
46-
47-if [ "${1}" = '--norun' ]; then exit; fi
48-
49-# Test usage
50-
51-./bin/uxnasm
52-./bin/uxncli
53-./bin/uxn11
54-
55-# Test version
56-
57-./bin/uxnasm -v
58-./bin/uxncli -v
59-./bin/uxn11 -v
60-
61-# bin/uxnasm etc/mouse.tal bin/res.rom
62-bin/uxnasm etc/pict.tal bin/res.rom
63-bin/uxn11 bin/res.rom
64-
+40, -0
 1@@ -0,0 +1,40 @@
 2+
 3+CLI_src=src/uxn.c src/devices/system.c src/devices/console.c src/devices/file.c src/devices/datetime.c 
 4+EMU_src=${CLI_src} src/devices/screen.c src/devices/controller.c src/devices/mouse.c
 5+
 6+RELEASE_flags=-DNDEBUG -O2 -g0 -s
 7+DEBUG_flags=-std=c89 -D_POSIX_C_SOURCE=199309L -DDEBUG -Wall -Wno-unknown-pragmas -Wpedantic -Wshadow -Wextra -Werror=implicit-int -Werror=incompatible-pointer-types -Werror=int-conversion -Wvla -g -Og -fsanitize=address -fsanitize=undefined
 8+
 9+all: dest uxnasm uxncli uxn11
10+
11+uxnasm: 
12+	cc ${RELEASE_flags} src/uxnasm.c -o bin/uxnasm 
13+uxncli: 
14+	gcc ${RELEASE_flags} ${CLI_src} src/uxncli.c -o bin/uxncli
15+uxn11: 
16+	gcc ${RELEASE_flags} ${EMU_src} src/uxn11.c -lX11 -o bin/uxn11 
17+
18+debug: dest uxnasm-debug uxncli-debug uxn11-debug
19+
20+uxnasm-debug: 
21+	cc ${DEBUG_flags} src/uxnasm.c -o bin/uxnasm 
22+uxncli-debug: 
23+	gcc ${DEBUG_flags} ${CLI_src} src/uxncli.c -o bin/uxncli
24+uxn11-debug: 
25+	gcc ${DEBUG_flags} ${EMU_src} src/uxn11.c -lX11 -o bin/uxn11 
26+
27+dest:
28+	mkdir -p bin
29+rom:
30+	./bin/uxnasm etc/polycat.tal bin/polycat.rom
31+
32+run: uxnasm uxncli uxn11 rom
33+	./bin/uxn11 bin/polycat.rom
34+install: uxnasm uxncli uxn11
35+	cp bin/uxn11 bin/uxnasm bin/uxncli ~/bin/
36+uninstall:
37+	rm -f ~/bin/uxn11 ~/bin/uxnasm ~/bin/uxncli
38+format:
39+	clang-format -i src/uxnasm.c src/uxncli.c src/uxn11.c src/devices/*
40+clean:
41+	rm -f bin/uxnasm bin/uxncli bin/uxn11 bin/polycat.rom bin/polycat.rom.sym