From 439d724ce5939cab7a5c858d1829f212e01e0402 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sun, 1 Feb 2015 11:33:16 -0500 Subject: first real commit --- Makefile | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Makefile (limited to 'Makefile') 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 -- cgit v1.1