Compare commits
3 commits
c38a0cbf41
...
502bd93e07
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
502bd93e07 | ||
|
|
bd29521b09 | ||
|
|
056ff77c55 |
4 changed files with 20 additions and 13 deletions
18
Makefile
18
Makefile
|
|
@ -51,19 +51,11 @@ all: kern/kernel.elf
|
|||
quickstart:
|
||||
make get_toolchain && bear -- make -j$(nproc) && make qemu
|
||||
|
||||
KERNEL_OBJ := \
|
||||
kern/entry.o \
|
||||
kern/start.o \
|
||||
kern/kalloc.o \
|
||||
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
|
||||
SUBDIRS := kern
|
||||
|
||||
include $(patsubst %, %/include.mk, $(SUBDIRS))
|
||||
|
||||
KERNEL_OBJ := $(KERN_OBJ)
|
||||
|
||||
kern/kernel.elf: $(KERNEL_OBJ)
|
||||
@echo LD $@
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ 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,
|
||||
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.
|
||||
clang-format and find might also be useful for development.
|
||||
|
||||
```sh
|
||||
make get_toolchain # Dont worry, is will land locally inside project directory
|
||||
|
|
|
|||
9
kern/include.mk
Normal file
9
kern/include.mk
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
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)
|
||||
5
kern/libkern/include.mk
Normal file
5
kern/libkern/include.mk
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
LIBKERN_SRC := $(wildcard kern/libkern/*.c)
|
||||
LIBKERN_SRC += $(wildcard kern/libkern/*.S)
|
||||
|
||||
LIBKERN_OBJ := $(LIBKERN_SRC:.c=.o)
|
||||
LIBKERN_OBJ := $(LIBKERN_OBJ:.S=.o)
|
||||
Loading…
Add table
Add a link
Reference in a new issue