diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-08 12:43:53 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-07-08 12:43:53 +0200 |
commit | 1230afc0aaef07b03f09d3725f459df07b982de8 (patch) | |
tree | ce0f127319285a010547bfb3695a9a634f778684 /src/Makefile | |
parent | 70266efd6fbe9a12a19cbec451eec536266ffb5e (diff) | |
download | abaos-1230afc0aaef07b03f09d3725f459df07b982de8.tar.gz abaos-1230afc0aaef07b03f09d3725f459df07b982de8.tar.bz2 |
added dedicated kernel entry to avoid address reordering under compiler optimization
affect the entry poin 0x8800 of kernel_main (now kernel_entry)
Diffstat (limited to 'src/Makefile')
-rw-r--r-- | src/Makefile | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Makefile b/src/Makefile index 876376d..62909a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,6 +1,6 @@ CC := gcc INCLUDES = -I. -Ilibc -Ihardware -Idrivers -Idrivers/hdi -Idrivers/hdi/ps2 -Idrivers/video -Ikernel -Igui -CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Wall -Werror $(INCLUDES) +CFLAGS := -std=c99 -m32 -ffreestanding -O0 -g -Werror $(INCLUDES) LD := ld NASMFLAGS := -f elf32 NASM := nasm @@ -33,8 +33,9 @@ kernel.bin: kernel.elf kernel.sym: kernel.elf $(OBJCOPY) --only-keep-debug kernel.elf kernel.sym -kernel.elf: kernel/kernel.o kernel/kernel_asm.o kernel/console.o kernel/vgatext.o kernel/serial.o kernel/memorymanagement.o kernel/tasks.o hardware/port.o hardware/port_asm.o hardware/interrupts.o hardware/interrupts_asm.o hardware/pci.o drivers/driver.o drivers/hdi/ps2/keyboard.o drivers/hdi/ps2/mouse.o drivers/video/vga.o drivers/video/vga_font.o gui/widget.o gui/composite_widget.o gui/window.o gui/desktop.o gui/text_widget.o libc/string.o libc/stdlib.o libc/stdio.o libc/setjmp.o +kernel.elf: kernel/entry.o kernel/kernel.o kernel/kernel_asm.o kernel/console.o kernel/vgatext.o kernel/serial.o kernel/memorymanagement.o kernel/tasks.o hardware/port.o hardware/port_asm.o hardware/interrupts.o hardware/interrupts_asm.o hardware/pci.o drivers/driver.o drivers/hdi/ps2/keyboard.o drivers/hdi/ps2/mouse.o drivers/video/vga.o drivers/video/vga_font.o gui/widget.o gui/composite_widget.o gui/window.o gui/desktop.o gui/text_widget.o libc/string.o libc/stdlib.o libc/stdio.o libc/setjmp.o $(LD) -o kernel.elf -N -n -Ttext 0x8800 --oformat elf32-i386 \ + kernel/entry.o \ kernel/kernel.o kernel/kernel_asm.o \ kernel/console.o kernel/vgatext.o kernel/serial.o \ kernel/memorymanagement.o kernel/tasks.o \ @@ -51,6 +52,9 @@ kernel.elf: kernel/kernel.o kernel/kernel_asm.o kernel/console.o kernel/vgatext. magic.bin: boot/magic.asm $(NASM) boot/magic.asm -DMAGIC='"$(MAGIC)"' -f bin -o magic.bin +kernel/entry.o: kernel/entry.c + $(CC) $(CFLAGS) -c -o kernel/entry.o kernel/entry.c + kernel/kernel.o: kernel/kernel.c $(CC) $(CFLAGS) -c -o kernel/kernel.o kernel/kernel.c |