CC=aarch64-linux-gnu-gcc LD=aarch64-linux-gnu-ld OBJCOPY=aarch64-linux-gnu-objcopy CFLAGS=-ffreestanding -O2 -nostdlib -Wall LDFLAGS=-T link.ld OBJS=startup.o kernel_main.o uart.o scheduler.o smp.o vfs.o shell.o emmc.o mmc_cmds.o profiler.o proc.o virtio_net_dma.o all: kernel.elf %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ kernel.elf: $(OBJS) $(LD) $(LDFLAGS) -o $@ $(OBJS) clean: rm -f *.o kernel.elf