Compare commits

..

No commits in common. "502bd93e07bf916146c64d108d40a58547912cde" and "c38a0cbf41ed2550295657892b053695a854930c" have entirely different histories.

4 changed files with 13 additions and 20 deletions

View file

@ -51,11 +51,19 @@ all: kern/kernel.elf
quickstart: quickstart:
make get_toolchain && bear -- make -j$(nproc) && make qemu make get_toolchain && bear -- make -j$(nproc) && make qemu
SUBDIRS := kern KERNEL_OBJ := \
kern/entry.o \
include $(patsubst %, %/include.mk, $(SUBDIRS)) kern/start.o \
kern/kalloc.o \
KERNEL_OBJ := $(KERN_OBJ) kern/libkern/string.o \
kern/libkern/proc.o \
kern/libkern/uart.o \
kern/libkern/panic.o \
kern/libkern/memory.o \
kern/libkern/spinlock.o \
kern/libkern/mini-printf.o \
kern/libkern/stdio.o \
kern/libkern/badrand.o
kern/kernel.elf: $(KERNEL_OBJ) kern/kernel.elf: $(KERNEL_OBJ)
@echo LD $@ @echo LD $@

View file

@ -26,7 +26,6 @@ On a linux machine, make sure that you have `make` and `curl` in path. The rest
of the tooling (gcc, qemu) will be handled by the build system. For extra convenience, of the tooling (gcc, qemu) will be handled by the build system. For extra convenience,
you could also use `bear` for generating "compile_commands.json". This is useful for helping you could also use `bear` for generating "compile_commands.json". This is useful for helping
clangd pick up the correct paths, and will result in better in-editor diagnostics and warnings. clangd pick up the correct paths, and will result in better in-editor diagnostics and warnings.
clang-format and find might also be useful for development.
```sh ```sh
make get_toolchain # Dont worry, is will land locally inside project directory make get_toolchain # Dont worry, is will land locally inside project directory

View file

@ -1,9 +0,0 @@
KERN_SRC := $(wildcard kern/*.c)
KERN_SRC += $(wildcard kern/*.S)
KERN_OBJ := $(KERN_SRC:.c=.o)
KERN_OBJ := $(KERN_OBJ:.S=.o)
include kern/libkern/include.mk
KERN_OBJ += $(LIBKERN_OBJ)

View file

@ -1,5 +0,0 @@
LIBKERN_SRC := $(wildcard kern/libkern/*.c)
LIBKERN_SRC += $(wildcard kern/libkern/*.S)
LIBKERN_OBJ := $(LIBKERN_SRC:.c=.o)
LIBKERN_OBJ := $(LIBKERN_OBJ:.S=.o)