Major restructure
This commit is contained in:
parent
0562c2fe5a
commit
c52e19de83
25 changed files with 574 additions and 188 deletions
17
Makefile
17
Makefile
|
|
@ -1,4 +1,6 @@
|
|||
TOOLPREFIX = riscv-none-elf
|
||||
TOOLPREFIX = riscv64-linux-gnu
|
||||
# TOOLPREFIX = toolchain/xpack-riscv-none-elf-gcc-14.2.0-3/bin/riscv-none-elf
|
||||
# TOOLPREFIX = toolchain/gcc/bin/riscv-none-elf
|
||||
|
||||
CC = $(TOOLPREFIX)-gcc
|
||||
AS = $(TOOLPREFIX)-as
|
||||
|
|
@ -17,19 +19,21 @@ CFLAGS += -mcmodel=medany
|
|||
CFLAGS += -march=rv64gc -mabi=lp64
|
||||
CFLAGS += -ffreestanding -fno-common -nostdlib -mno-relax
|
||||
|
||||
CFLAGS += -I.
|
||||
CFLAGS += -Ilib
|
||||
CFLAGS += -Ikern
|
||||
|
||||
CFLAGS += -fno-stack-protector # Prevents code that needs libc / runtime support
|
||||
CFLAGS += -MD # Generate header dependency files (.d)
|
||||
CFLAGS += -fno-pie -no-pie # Fixed address linking
|
||||
CFLAGS += -ggdb -gdwarf-2 # GDB debug info
|
||||
CFLAGS += -fno-omit-frame-pointer # More reliable backtraces in GDB
|
||||
|
||||
CFLAGS += -I.
|
||||
CFLAGS += -I./kern
|
||||
CFLAGS += -I./kern/libkern
|
||||
|
||||
all: kernel.elf
|
||||
|
||||
kernel.elf: entry.o start.o lib/string.o lib/proc.o lib/proc.o lib/uart.o lib/panic.o kern/kalloc.o lib/memory.o kern/ispinlock.o lib/spinlock.o
|
||||
main: main.o
|
||||
|
||||
kernel.elf: entry.o start.o kern/libkern/string.o kern/libkern/proc.o kern/libkern/uart.o kern/libkern/panic.o kern/kalloc.o kern/libkern/memory.o kern/ispinlock.o kern/libkern/spinlock.o kern/libkern/string.o kern/libkern/mini-printf.o
|
||||
@echo LD $@
|
||||
@$(LD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
|
|
@ -47,6 +51,7 @@ qemu: kernel.elf
|
|||
|
||||
clean:
|
||||
rm -f *.o *.elf *.d lib/*.o lib/*.d
|
||||
fd -I -e o -x rm # TODO: Should only depend on posix
|
||||
|
||||
-include *.d
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue