2 28b38de8 2024-02-18 benni .SUFFIXES: .c .S .o .elf
4 52a430f3 2024-02-18 benni PREFIX = /usr/local
5 d83e2c2b 2024-02-19 benni TARGET = riscv64-unknown-linux-musl
6 d86f6f86 2024-04-06 benni HOSTOS != if test -e 'config.mk.local'; then echo 'local'; else uname; fi
7 d83e2c2b 2024-02-19 benni CROSS = ./tools/bin/${TARGET}
8 3528385d 2024-04-06 benni CONFIG = config.mk.${HOSTOS}
10 3528385d 2024-04-06 benni include ${CONFIG}
12 3528385d 2024-04-06 benni COPT = -g -O2
13 3528385d 2024-04-06 benni CFLAGS = ${CFLAGS_OS} ${COPT} -std=c2x
14 3528385d 2024-04-06 benni LDFLAGS = ${LDFLAGS_OS} -lpthread
16 a8ceaca4 2024-02-20 benni OBJ = src/rvemu.o src/ecall.o src/cpu.o src/exec.o
18 e46639b3 2024-02-20 benni PROGS = examples/test.elf \
19 e46639b3 2024-02-20 benni examples/echo.elf \
20 b4cef989 2024-02-21 benni examples/cat.elf \
21 6bf04703 2024-04-05 benni examples/hello.elf \
22 6bf04703 2024-04-05 benni examples/asm.elf
24 28b38de8 2024-02-18 benni all: rvemu ${PROGS}
26 e46639b3 2024-02-20 benni od: examples/$T.elf
27 e46639b3 2024-02-20 benni ${CROSS}-objdump -d examples/$T.elf | less
29 e46639b3 2024-02-20 benni run: rvemu ${PROGS}
30 e46639b3 2024-02-20 benni mkdir -p rootfs/bin
31 e46639b3 2024-02-20 benni cp -f rvemu rootfs/bin
32 e46639b3 2024-02-20 benni cp -f ${PROGS} rootfs/bin
33 b4cef989 2024-02-21 benni cp -f test.txt rootfs/
34 d86f6f86 2024-04-06 benni ${CHROOT} rootfs /bin/rvemu /bin/$T.elf
36 3528385d 2024-04-06 benni distclean: clean
37 3528385d 2024-04-06 benni (cd tools; ${MAKE} distclean)
40 e46639b3 2024-02-20 benni rm -f rvemu src/*.o examples/*.elf *.core src/syscalls.h
41 52a430f3 2024-02-18 benni rm -rf rootfs
43 52a430f3 2024-02-18 benni install: rvemu
44 52a430f3 2024-02-18 benni mkdir -p ${DESTDIR}${PREFIX}/bin
45 52a430f3 2024-02-18 benni cp -f rvemu ${DESTDIR}${PREFIX}/bin/
48 28b38de8 2024-02-18 benni rvemu: ${OBJ}
49 28b38de8 2024-02-18 benni ${CC} -o $@ ${OBJ} ${LDFLAGS}
51 a8ceaca4 2024-02-20 benni src/ecall.o: src/syscalls.h
53 a8ceaca4 2024-02-20 benni src/syscalls.h: src/syscalls.inc
54 52a430f3 2024-02-18 benni sed 's/^\.set \(SYS_[a-z0-9_]*\), \([0-9]*\)$$/#define \1 \2/' \
55 a8ceaca4 2024-02-20 benni < src/syscalls.inc > $@
58 28b38de8 2024-02-18 benni ${CC} -c -o $@ $< ${CFLAGS}
62 6bf04703 2024-04-05 benni ${CROSS}-gcc -g -o $@ $< -Og
65 6bf04703 2024-04-05 benni ${CROSS}-gcc -g -o $@ $<