From: Tulio A M Mendes Date: Fri, 6 Feb 2026 11:39:46 +0000 (-0300) Subject: build: keep ISO kernel in sync when generating grub image X-Git-Url: https://projects.tadryanom.me/sitemap.xml?a=commitdiff_plain;h=bceda9f903a44db923d3fe62f4be1db0b677c689;p=AdrOS.git build: keep ISO kernel in sync when generating grub image --- diff --git a/Makefile b/Makefile index fae588b..2a2f7a7 100644 --- a/Makefile +++ b/Makefile @@ -85,11 +85,26 @@ endif OBJ := $(patsubst $(SRC_DIR)/%.c, $(BUILD_DIR)/%.o, $(C_SOURCES)) OBJ += $(patsubst $(SRC_DIR)/%.S, $(BUILD_DIR)/%.o, $(ASM_SOURCES)) +BOOT_OBJ := $(BUILD_DIR)/arch/x86/boot.o +KERNEL_OBJ := $(filter-out $(BOOT_OBJ), $(OBJ)) + all: $(KERNEL_NAME) $(KERNEL_NAME): $(OBJ) @echo " LD $@" - @$(LD) $(LDFLAGS) -n -o $@ $(OBJ) + @$(LD) $(LDFLAGS) -n -o $@ $(BOOT_OBJ) $(KERNEL_OBJ) + +iso: $(KERNEL_NAME) + @mkdir -p iso/boot + @cp -f $(KERNEL_NAME) iso/boot/$(KERNEL_NAME) + @echo " GRUB-MKRESCUE adros-$(ARCH).iso" + @grub-mkrescue -o adros-$(ARCH).iso iso > /dev/null + +run: iso + @rm -f serial.log qemu.log + @qemu-system-i386 -boot d -cdrom adros-$(ARCH).iso -m 128M -display none \ + -serial file:serial.log -monitor none -no-reboot -no-shutdown \ + -d int,cpu_reset,guest_errors -D qemu.log $(BUILD_DIR)/%.o: $(SRC_DIR)/%.c @mkdir -p $(dir $@) @@ -104,4 +119,4 @@ $(BUILD_DIR)/%.o: $(SRC_DIR)/%.S clean: rm -rf build $(KERNEL_NAME) -.PHONY: all clean +.PHONY: all clean iso run