Blame


1 28b38de8 2024-02-18 benni .SUFFIXES:
2 28b38de8 2024-02-18 benni .SUFFIXES: .c .S .o .elf
3 074dbafb 2024-02-18 benni
4 9c836066 2024-04-07 benni TOP != pwd
5 52a430f3 2024-02-18 benni PREFIX = /usr/local
6 d83e2c2b 2024-02-19 benni TARGET = riscv64-unknown-linux-musl
7 d83e2c2b 2024-02-19 benni CROSS = ./tools/bin/${TARGET}
8 3528385d 2024-04-06 benni
9 9c836066 2024-04-07 benni include config.mk
10 3528385d 2024-04-06 benni
11 3528385d 2024-04-06 benni COPT = -g -O2
12 3528385d 2024-04-06 benni CFLAGS = ${CFLAGS_OS} ${COPT} -std=c2x
13 3528385d 2024-04-06 benni LDFLAGS = ${LDFLAGS_OS} -lpthread
14 3528385d 2024-04-06 benni
15 80a2e72f 2024-04-15 benni OBJ = src/linurv.o src/ecall.o src/cpu.o src/exec.o
16 6bf04703 2024-04-05 benni T = asm
17 e46639b3 2024-02-20 benni PROGS = examples/test.elf \
18 e46639b3 2024-02-20 benni examples/echo.elf \
19 b4cef989 2024-02-21 benni examples/cat.elf \
20 6bf04703 2024-04-05 benni examples/hello.elf \
21 6bf04703 2024-04-05 benni examples/asm.elf
22 074dbafb 2024-02-18 benni
23 80a2e72f 2024-04-15 benni all: linurv ${PROGS}
24 074dbafb 2024-02-18 benni
25 e46639b3 2024-02-20 benni od: examples/$T.elf
26 e46639b3 2024-02-20 benni ${CROSS}-objdump -d examples/$T.elf | less
27 a67f2fcd 2024-02-20 benni
28 80a2e72f 2024-04-15 benni run: linurv ${PROGS}
29 e46639b3 2024-02-20 benni mkdir -p rootfs/bin
30 80a2e72f 2024-04-15 benni cp -f linurv rootfs/bin
31 e46639b3 2024-02-20 benni cp -f ${PROGS} rootfs/bin
32 b4cef989 2024-02-21 benni cp -f test.txt rootfs/
33 80a2e72f 2024-04-15 benni ${CHROOT} rootfs /bin/linurv /bin/$T.elf
34 e46639b3 2024-02-20 benni
35 3528385d 2024-04-06 benni distclean: clean
36 3528385d 2024-04-06 benni (cd tools; ${MAKE} distclean)
37 3528385d 2024-04-06 benni
38 074dbafb 2024-02-18 benni clean:
39 80a2e72f 2024-04-15 benni rm -f linurv src/*.o examples/*.elf *.core src/syscalls.h
40 52a430f3 2024-02-18 benni rm -rf rootfs
41 074dbafb 2024-02-18 benni
42 80a2e72f 2024-04-15 benni install: linurv
43 52a430f3 2024-02-18 benni mkdir -p ${DESTDIR}${PREFIX}/bin
44 80a2e72f 2024-04-15 benni cp -f linurv ${DESTDIR}${PREFIX}/bin/
45 074dbafb 2024-02-18 benni
46 074dbafb 2024-02-18 benni
47 80a2e72f 2024-04-15 benni linurv: ${OBJ}
48 28b38de8 2024-02-18 benni ${CC} -o $@ ${OBJ} ${LDFLAGS}
49 28b38de8 2024-02-18 benni
50 a8ceaca4 2024-02-20 benni src/ecall.o: src/syscalls.h
51 52a430f3 2024-02-18 benni
52 a8ceaca4 2024-02-20 benni src/syscalls.h: src/syscalls.inc
53 52a430f3 2024-02-18 benni sed 's/^\.set \(SYS_[a-z0-9_]*\), \([0-9]*\)$$/#define \1 \2/' \
54 a8ceaca4 2024-02-20 benni < src/syscalls.inc > $@
55 52a430f3 2024-02-18 benni
56 ced16aa5 2024-04-06 benni .c.o:
57 28b38de8 2024-02-18 benni ${CC} -c -o $@ $< ${CFLAGS}
58 28b38de8 2024-02-18 benni
59 28b38de8 2024-02-18 benni
60 a8ceaca4 2024-02-20 benni .c.elf:
61 6bf04703 2024-04-05 benni ${CROSS}-gcc -g -o $@ $< -Og
62 6bf04703 2024-04-05 benni
63 6bf04703 2024-04-05 benni .S.elf:
64 6bf04703 2024-04-05 benni ${CROSS}-gcc -g -o $@ $<