Mercurial > lcfOS
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 +