Ömer Özsipahi feature: C kernel
NakedOS Makefile
Makefile 760 B
CC = nasm
ASFLAGS = -f bin
BOOT_SRC = boot.asm
BOOT_BIN = boot.bin
KERNEL_DIR = kernel/build
KERNEL_BIN = $(KERNEL_DIR)/kernel.bin
DISK_IMG = disk.img
RUN = qemu-system-x86_64 -drive format=raw,file=$(DISK_IMG) -display cocoa,zoom-to-fit=on #-d int,cpu_reset -no-reboot -no-shutdown -D qemu.log
all: $(DISK_IMG)
$(DISK_IMG): $(BOOT_BIN) $(KERNEL_BIN)
@cat $(BOOT_BIN) $(KERNEL_BIN) > $(DISK_IMG)
@echo "disk.img oluşturuldu: $$(stat -f%z $(DISK_IMG) 2>/dev/null || stat -c%s $(DISK_IMG)) byte"
$(BOOT_BIN): $(BOOT_SRC)
@$(CC) $(ASFLAGS) $(BOOT_SRC) -o $(BOOT_BIN)
$(KERNEL_BIN):
@$(MAKE) -C $(KERNEL_DIR)
run: all
$(RUN)
fclean:
@rm -rf $(BOOT_BIN) $(DISK_IMG)
@$(MAKE) -C $(KERNEL_DIR) fclean
re: fclean all
.PHONY: all run fclean re