commit 387d96d

Devie Lu Linvega  ·  2025-12-28 23:16:48 +0000 UTC
parent 85c9416
Use uxn11 to bootstrap assembler
2 files changed,  +27, -34
+27, -34
 1@@ -1,33 +1,32 @@
 2 RELEASE_flags=-DNDEBUG -O2 -g0 -s
 3 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
 4-
 5 PREFIX=${HOME}/.local
 6 
 7-run: bin/uxncli bin/uxn11 bin/perifs.rom
 8+run: bin/uxn11 bin/perifs.rom
 9 	bin/uxn11 bin/perifs.rom
10-test: bin/uxncli-debug bin/uxn11-debug tests
11-	bin/uxncli-debug bin/test_opcodes.rom
12-	bin/uxn11-debug bin/test_opcodes.rom
13-	bin/uxncli-debug bin/system.rom
14-	echo "foobar" | bin/uxncli-debug bin/console.rom "baz" "qux"
15-	bin/uxncli-debug bin/file.rom
16-	bin/uxncli-debug bin/datetime.rom
17+test: bin/uxn11-debug tests
18+	@ -bin/uxn11-debug
19+	@ -bin/uxn11-debug -v
20+	@ bin/uxn11-debug bin/opctest.rom
21+	@ bin/uxn11-debug bin/system.rom
22+	@ echo "foobar" | bin/uxn11-debug bin/console.rom "baz" "qux"
23+	@ bin/uxn11-debug bin/file.rom
24+	@ bin/uxn11-debug bin/datetime.rom
25 clean:
26 	rm -fr bin
27 format:
28-	clang-format -i src/uxncli.c src/uxn11.c
29-install: bin/uxncli bin/uxn11
30+	clang-format -i src/uxn11.c
31+install: bin/uxn11
32 	mkdir -p ${PREFIX}/bin
33-	cp bin/uxn11 bin/uxncli ${PREFIX}/bin
34+	cp bin/uxn11 ${PREFIX}/bin
35 	mkdir -p ${PREFIX}/share/man/man7
36 	cp doc/man/uxntal.7 ${PREFIX}/share/man/man7
37 uninstall:
38-	rm -f ${PREFIX}/bin/uxn11 ${PREFIX}/bin/uxncli
39+	rm -f ${PREFIX}/bin/uxn11
40 grab:
41 	cp ../drifblim/etc/drifloon.rom.txt etc/utils/
42 	cp ../uxn-utils/cli/opctest/src/opctest.tal etc/tests/
43 archive:
44-	cp src/uxncli.c ../oscean/etc/uxncli.c.txt
45 	cp src/uxn11.c ../oscean/etc/uxn11.c.txt
46 	cp doc/man/uxntal.7 ../oscean/etc/uxntal.7.txt
47 	cp etc/tests/system.tal ../oscean/etc/varvara.system.tal.txt
48@@ -38,37 +37,31 @@ archive:
49 
50 .PHONY: run test clean format install uninstall grab archive
51 
52-bin/uxncli: src/uxncli.c
53-	mkdir -p bin
54-	cc ${RELEASE_flags} ${CFLAGS} src/uxncli.c -lutil -o bin/uxncli
55 bin/uxn11: src/uxn11.c
56 	mkdir -p bin
57 	cc ${RELEASE_flags} ${CFLAGS} src/uxn11.c -lX11 -lutil -o bin/uxn11
58-bin/uxncli-debug: src/uxncli.c
59-	mkdir -p bin
60-	cc ${DEBUG_flags} ${CFLAGS} src/uxncli.c -lutil -o bin/uxncli-debug
61 bin/uxn11-debug: src/uxn11.c
62 	mkdir -p bin
63 	cc ${DEBUG_flags} ${CFLAGS} src/uxn11.c -lX11 -lutil -o bin/uxn11-debug
64 
65 # Tools
66 
67-bin/drifloon.rom: bin/uxncli etc/utils/drifloon.rom.txt
68-	@ cat etc/utils/drifloon.rom.txt | ./bin/uxncli etc/utils/xh.rom > bin/drifloon.rom
69+bin/drifloon.rom: bin/uxn11 etc/utils/drifloon.rom.txt
70+	@ cat etc/utils/drifloon.rom.txt | ./bin/uxn11 etc/utils/xh.rom > bin/drifloon.rom
71 
72 # Tests
73 
74 tests: bin/opctest.rom bin/system.rom bin/console.rom bin/perifs.rom bin/file.rom bin/datetime.rom
75 
76-bin/opctest.rom: bin/uxncli bin/drifloon.rom etc/tests/opctest.tal
77-	@ cat etc/tests/opctest.tal | bin/uxncli bin/drifloon.rom > bin/opctest.rom
78-bin/system.rom: bin/uxncli bin/drifloon.rom etc/tests/system.tal
79-	@ cat etc/tests/system.tal | bin/uxncli bin/drifloon.rom > bin/system.rom
80-bin/console.rom: bin/uxncli bin/drifloon.rom etc/tests/console.tal
81-	@ cat etc/tests/console.tal | bin/uxncli bin/drifloon.rom > bin/console.rom
82-bin/perifs.rom: bin/uxncli bin/drifloon.rom etc/tests/perifs.tal
83-	@ cat etc/tests/perifs.tal | bin/uxncli bin/drifloon.rom > bin/perifs.rom
84-bin/file.rom: bin/uxncli bin/drifloon.rom etc/tests/file.tal
85-	@ cat etc/tests/file.tal | bin/uxncli bin/drifloon.rom > bin/file.rom
86-bin/datetime.rom: bin/uxncli bin/drifloon.rom etc/tests/datetime.tal
87-	@ cat etc/tests/datetime.tal | bin/uxncli bin/drifloon.rom > bin/datetime.rom
88+bin/opctest.rom: bin/uxn11 bin/drifloon.rom etc/tests/opctest.tal
89+	@ cat etc/tests/opctest.tal | bin/uxn11 bin/drifloon.rom > bin/opctest.rom
90+bin/system.rom: bin/uxn11 bin/drifloon.rom etc/tests/system.tal
91+	@ cat etc/tests/system.tal | bin/uxn11 bin/drifloon.rom > bin/system.rom
92+bin/console.rom: bin/uxn11 bin/drifloon.rom etc/tests/console.tal
93+	@ cat etc/tests/console.tal | bin/uxn11 bin/drifloon.rom > bin/console.rom
94+bin/perifs.rom: bin/uxn11 bin/drifloon.rom etc/tests/perifs.tal
95+	@ cat etc/tests/perifs.tal | bin/uxn11 bin/drifloon.rom > bin/perifs.rom
96+bin/file.rom: bin/uxn11 bin/drifloon.rom etc/tests/file.tal
97+	@ cat etc/tests/file.tal | bin/uxn11 bin/drifloon.rom > bin/file.rom
98+bin/datetime.rom: bin/uxn11 bin/drifloon.rom etc/tests/datetime.tal
99+	@ cat etc/tests/datetime.tal | bin/uxn11 bin/drifloon.rom > bin/datetime.rom
R src/uxncli.c => src/uxncli11.c
+0, -0