diff options
-rw-r--r-- | Makefile | 24 | ||||
-rw-r--r-- | kernel/Makefile | 6 |
2 files changed, 16 insertions, 14 deletions
@@ -1,27 +1,29 @@ GRUB_DIR=grub KERNEL_DIR=kernel -DST=iso +ISO_DIR=iso ISO=kernel.iso +.PHONY: kernel iso + all: run -run: kernel.elf +run: kernel qemu-system-i386 -kernel $(KERNEL_DIR)/kernel.elf -run-iso: create_iso +run-iso: $(ISO) qemu-system-i386 -hda $(ISO) -create_iso: cpy - grub-mkrescue -o $(ISO) $(DST) +kernel.iso: iso + grub-mkrescue -o $(ISO) $(ISO_DIR) -cpy: kernel.elf - mkdir -p $(DST)/boot/grub - cp $(KERNEL_DIR)/kernel.elf $(DST)/boot/ - cp $(GRUB_DIR)/grub.cfg $(DST)/boot/grub/ +iso: kernel + mkdir -p $(ISO_DIR)/boot/grub + cp $(KERNEL_DIR)/kernel.elf $(ISO_DIR)/boot/ + cp $(GRUB_DIR)/grub.cfg $(ISO_DIR)/boot/grub/ -kernel.elf: +kernel: cd $(KERNEL_DIR); $(MAKE) clean: cd $(KERNEL_DIR); $(MAKE) clean - -rm -fr $(ISO) $(DST) 2>/dev/null + -rm -fr $(ISO) $(ISO_DIR) 2>/dev/null diff --git a/kernel/Makefile b/kernel/Makefile index cc03386..9846422 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -1,11 +1,11 @@ all: kernel.elf +.c.o : + gcc -std=gnu99 -m32 -fno-builtin -ffreestanding -nostdlib -Wall -Wextra -c $< -o $@ + kernel.elf: kernel.o entry.o ld -Tlinker.ld -melf_i386 entry.o kernel.o -o kernel.elf -kernel.o: kernel.c - gcc -std=gnu99 -m32 -fno-builtin -ffreestanding -nostdlib -Wall -Wextra -c kernel.c - # entry.o: entry.S # as -32 $< -o entry.o |