24 lines
514 B
Makefile
24 lines
514 B
Makefile
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
|