aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-02-01 11:33:16 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-02-01 11:33:16 -0500
commit439d724ce5939cab7a5c858d1829f212e01e0402 (patch)
tree154afa843a96e4cebd4d4f4f480f36415668d620 /Makefile
parent1d7843c2b6d746376f87c2634c92cd93d8cdb728 (diff)
downloadkappa-439d724ce5939cab7a5c858d1829f212e01e0402.zip
kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.gz
kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.bz2
kappa-439d724ce5939cab7a5c858d1829f212e01e0402.tar.xz
first real commit
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile34
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