summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
committerMichal Idziorek <m.i@gmx.at>2014-08-27 03:20:16 +0200
commit50c7bdbe826b5b425748a11273d14e3aed2ce851 (patch)
tree8fc2bec5576aad366b6f9f3f1fcc406f6a3eeb33 /Makefile
parentfc7022286a14e7325907fb4e77aa44330037229b (diff)
many changes and adaptions and VESA mode !!
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile19
1 files changed, 17 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 9cea089..5c14650 100644
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@
IMAGE_SIZE=1474560
#final image
-all: FoolOS.img
+all: FoolOS.img
#assembling of final image
FoolOS.img: mbr.bin kernel.bin fill.bin
@@ -59,15 +59,30 @@ interrupts.o: kernel/interrupts.c kernel/interrupts.h
keyboard.o: kernel/keyboard.c
gcc -ffreestanding -m32 -o $@ -c $< -fno-asynchronous-unwind-tables -O0
+vesa.o: kernel/vesa.c
+ gcc -ffreestanding -m32 -o $@ -c $< -fno-asynchronous-unwind-tables -O0
+
timer.o: kernel/timer.c
gcc -ffreestanding -m32 -o $@ -c $< -fno-asynchronous-unwind-tables -O0
shell.o: kernel/shell.c
gcc -ffreestanding -m32 -o $@ -c $< -fno-asynchronous-unwind-tables -O0
-kernel.bin: kernel_entry.o kernel.o console.o interrupts.o keyboard.o timer.o floppy.o x86.o shell.o mem.o vmem.o pci.o e1000.o
+kernel.bin: kernel_entry.o kernel.o console.o interrupts.o keyboard.o timer.o floppy.o x86.o shell.o mem.o vmem.o pci.o e1000.o vesa.o
ld -o $@ -Ttext 0x1000 --oformat binary -melf_i386 $^ -O0
+#16bit bootloader!
+FoolBoot.img: mbr16.bin boot.bin fill.bin
+ cat $^ | head -c $(IMAGE_SIZE) > $@
+boot.bin: boot16_entry.o boot16.o
+ ld -o $@ -Ttext 0x1000 --oformat binary -melf_i386 $^ -O0
+mbr16.bin: boot/mbr16.asm
+ nasm -f bin $^ -o $@
+boot16_entry.o: boot/boot16_entry.asm
+ nasm -f elf $^ -o $@
+boot16.o: bootloader/boot16.c
+ gcc -ffreestanding -m32 -o $@ -c $< -fno-asynchronous-unwind-tables -O0
+
# dump from vbox
dump: FoolOS.img