mirror of
https://github.com/isometimes/rpi4-osdev
synced 2024-11-25 19:50:40 +00:00
21 lines
681 B
Makefile
21 lines
681 B
Makefile
|
CFILES = $(wildcard *.c lib/*.c kernel/*.c net/*.c tcpip/*.c)
|
||
|
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
||
|
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
||
|
LLVMPATH = /opt/homebrew/opt/llvm/bin
|
||
|
CLANGFLAGS = -Wall -O0 -ffreestanding -nostdlib -mcpu=cortex-a72+nosimd
|
||
|
|
||
|
all: clean kernel8.img
|
||
|
|
||
|
%.o: %.c
|
||
|
$(LLVMPATH)/clang --target=aarch64-elf $(CLANGFLAGS) -c $< -o $@
|
||
|
|
||
|
%.o: %.S
|
||
|
$(LLVMPATH)/clang --target=aarch64-elf $(CLANGFLAGS) -c $< -o $@
|
||
|
|
||
|
kernel8.img: $(OFILES)
|
||
|
$(LLVMPATH)/ld.lld -m aarch64elf -nostdlib $(OFILES) -T boot/link.ld -o kernel8.elf
|
||
|
$(LLVMPATH)/llvm-objcopy -O binary kernel8.elf kernel8.img
|
||
|
|
||
|
clean:
|
||
|
/bin/rm kernel8.elf */*.o *.img > /dev/null 2> /dev/null || true
|