2021-10-12 16:19:47 +00:00
|
|
|
CFILES = $(wildcard *.c lib/*.c kernel/*.c)
|
|
|
|
SFILES = $(wildcard boot/*.S lib/*.S kernel/*.S)
|
|
|
|
OFILES = $(CFILES:.c=.o) $(SFILES:.S=.o)
|
2024-03-27 11:35:12 +00:00
|
|
|
GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles
|
|
|
|
GCCPATH = ../../gcc-arm-10.3-2021.07-x86_64-aarch64-none-elf/bin
|
2021-10-12 16:19:47 +00:00
|
|
|
|
|
|
|
all: clean kernel8.img
|
|
|
|
|
|
|
|
%.o: %.c
|
2024-03-27 11:35:12 +00:00
|
|
|
$(GCCPATH)/aarch64-none-elf-gcc $(GCCFLAGS) -c $< -o $@
|
2021-10-12 16:19:47 +00:00
|
|
|
|
|
|
|
%.o: %.S
|
2024-03-27 11:35:12 +00:00
|
|
|
$(GCCPATH)/aarch64-none-elf-gcc $(GCCFLAGS) -c $< -o $@
|
2021-10-12 16:19:47 +00:00
|
|
|
|
|
|
|
kernel8.img: $(OFILES)
|
2024-03-27 11:35:12 +00:00
|
|
|
$(GCCPATH)/aarch64-none-elf-ld -nostdlib $(OFILES) -T boot/link.ld -o kernel8.elf
|
|
|
|
$(GCCPATH)/aarch64-none-elf-objcopy -O binary kernel8.elf kernel8.img
|
2021-10-12 16:19:47 +00:00
|
|
|
|
|
|
|
clean:
|
|
|
|
/bin/rm kernel8.elf */*.o *.img > /dev/null 2> /dev/null || true
|