diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2776f75 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +OBJ = drivers/tty.o kernel/main.o boot/head.o kernel/io.o kernel/gdt-as.o kernel/gdt.o +CC = gcc +LD = ld +INCLUDES = -Idrivers -Ikernel/include +CFLAGS = -std=gnu99 -ffreestanding -fno-stack-protector -nostdlib -Wall -Wextra -m32 $(INCLUDES) + +AS = as +ASFLAGS=-march=i686 --32 + +all: kappa.bin + +test: iso + qemu-system-i386 kappa.iso + +iso: kappa.bin + mkdir -p isodir + mkdir -p isodir/boot + cp kappa.bin isodir/efi.img + cp kappa.bin isodir/boot/kappa.bin + mkdir -p isodir/boot/grub + cp cdrom/grub.cfg isodir/boot/grub + grub-mkrescue -o kappa.iso isodir + +kappa.bin: $(OBJ) $(SOURCES) Makefile + $(LD) -T kernel/linker.ld -o kappa.bin -melf_i386 $(OBJ) + +%.o: %.c + $(CC) $(CFLAGS) -c $< -o $@ + +%.o: %.S + $(AS) $(ASFLAGS) -c $< -o $@ + +clean: + rm -f $(OBJ) kappa.iso kappa.bin |