io1/riscv32-os/Makefile
2026-02-06 15:52:53 +03:00

20 lines
544 B
Makefile

CC ?= clang
QEMU ?= qemu-system-riscv32
FW ?= /usr/share/qemu/opensbi-riscv32-generic-fw_dynamic.bin
CFLAGS = -fuse-ld=lld -std=c11 -O2 -g3 -Wall -Wextra \
--target=riscv32 -march=rv32imac -mabi=ilp32 \
-ffreestanding -nostdlib
all: kernel.elf
kernel.elf: kernel.c common.c common.h kernel.h kernel.ld
$(CC) $(CFLAGS) -Wl,-T,kernel.ld -Wl,-Map,kernel.map -o $@ kernel.c common.c
run: kernel.elf
$(QEMU) -machine virt -nographic -serial mon:stdio --no-reboot \
-bios $(FW) -kernel kernel.elf
clean:
rm -f *.o *.elf *.map qemu.log