CFILES = $(wildcard *.c) OFILES = $(CFILES:.c=.o) GCCFLAGS = -Wall -O2 -ffreestanding -nostdinc -nostdlib -nostartfiles GCCPATH = ..\..\gcc-arm-10.2-2020.11-mingw-w64-i686-aarch64-none-elf\bin all: clean kernel8.img boot.o: boot.S $(GCCPATH)\aarch64-none-elf-gcc $(GCCFLAGS) -c boot.S -o boot.o BCM4345C0.o : BCM4345C0.hcd $(GCCPATH)\aarch64-none-elf-objcopy -I binary -O elf64-littleaarch64 -B aarch64 $< $@ %.o: %.c $(GCCPATH)\aarch64-none-elf-gcc $(GCCFLAGS) -c $< -o $@ kernel8.img: boot.o $(OFILES) BCM4345C0.o $(GCCPATH)\aarch64-none-elf-ld -nostdlib boot.o $(OFILES) BCM4345C0.o -T link.ld -o kernel8.elf $(GCCPATH)\aarch64-none-elf-objcopy -O binary kernel8.elf kernel8.img clean: del kernel8.elf *.o *.img