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
M
makefile
+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