TARGET := kernel2.elf CC = zig cc -target x86_64-freestanding CFLAGS = -O2 LD = ld -m elf_x86_64 QEMU = qemu-system-x86_64 QEMUFLAGS = -m 1G -enable-kvm -cpu host LDINTERNALFLAGS := -Tlinker.ld INTERNALCFLAGS := -I. \ CFILES := $(shell find ./ -type f -name '*.c') OBJ := $(CFILES:.c=.o) all: $(TARGET) $(TARGET): $(OBJ) $(LD) $(LDINTERNALFLAGS) $(OBJ) -o $@ %.o: %.c $(CC) $(CFLAGS) $(INTERNALCFLAGS) -c $< -o $@ clean: rm -rf $(TARGET) *.o