diff cos/Makefile @ 9:92ace1ca50a8

64 bits kernel without interrupts but with printf in C
author windel
date Sun, 13 Nov 2011 12:47:47 +0100
parents
children 607898120eb1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cos/Makefile	Sun Nov 13 12:47:47 2011 +0100
@@ -0,0 +1,37 @@
+# vim: set noexpandtab:
+
+all: lcfosc.elf
+
+bootdisk: lcfosc.elf grub/menu.lst
+	objcopy -O binary lcfosc.elf lcfosc.bin
+	cp grub/emptybootdisk.img bootdisk.img
+	mcopy -D o -i bootdisk.img lcfosc.bin ::
+	mcopy -D o -i bootdisk.img grub/menu.lst ::/grub
+	mdir -i bootdisk.img
+
+CRT0 = kernel/goto64.o
+
+CFLAGS = -m64 \
+			-nostdinc \
+			-nostdlib \
+			-nostartfiles \
+			-fno-builtin \
+			-Iinclude
+
+OBJECTS = \
+	kernel/video.o \
+	kernel/snprintf.o \
+	kernel/kernel.o
+
+lcfosc.elf: $(CRT0) $(OBJECTS) linker.ld
+	ld -T linker.ld -o lcfosc.elf $(CRT0) $(OBJECTS)
+
+%.o : %.asm
+	nasm -f elf64 -o $@ $<
+
+%.o : %.c
+	gcc $(CFLAGS) -o $@ -c $< -Wall -Wextra -Werror
+
+clean:
+	rm $(OBJECTS) $(CRT0) lcfosc.bin lcfosc.elf
+