mirror of
https://github.com/wichtounet/thor-os.git
synced 2025-09-11 05:24:44 -04:00
Create sub makefile for kernel
This commit is contained in:
parent
4ca5617bfc
commit
94ff36b850
36
Makefile
36
Makefile
@ -6,35 +6,8 @@ bootloader.bin: force_look
|
|||||||
micro_kernel.bin: force_look
|
micro_kernel.bin: force_look
|
||||||
cd micro_kernel; $(MAKE)
|
cd micro_kernel; $(MAKE)
|
||||||
|
|
||||||
force_look:
|
kernel.bin: force_look
|
||||||
true
|
cd kernel; $(MAKE)
|
||||||
|
|
||||||
KERNEL_FLAGS=-masm=intel -Ikernel/include/ -O1 -std=c++11 -Wall -Wextra -fno-exceptions -fno-rtti -ffreestanding
|
|
||||||
KERNEL_LINK_FLAGS=-std=c++11 -T linker.ld -ffreestanding -O1 -nostdlib
|
|
||||||
|
|
||||||
KERNEL_O_FILES=kernel.o keyboard.o console.o kernel_utils.o timer.o shell.o
|
|
||||||
|
|
||||||
kernel.o: kernel/src/kernel.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/kernel.cpp -o kernel.o
|
|
||||||
|
|
||||||
keyboard.o: kernel/src/keyboard.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/keyboard.cpp -o keyboard.o
|
|
||||||
|
|
||||||
console.o: kernel/src/console.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/console.cpp -o console.o
|
|
||||||
|
|
||||||
kernel_utils.o: kernel/src/kernel_utils.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/kernel_utils.cpp -o kernel_utils.o
|
|
||||||
|
|
||||||
timer.o: kernel/src/timer.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/timer.cpp -o timer.o
|
|
||||||
|
|
||||||
shell.o: kernel/src/shell.cpp
|
|
||||||
g++ $(KERNEL_FLAGS) -c kernel/src/shell.cpp -o shell.o
|
|
||||||
|
|
||||||
kernel.bin: $(KERNEL_O_FILES)
|
|
||||||
g++ $(KERNEL_LINK_FLAGS) -o kernel.bin.o $(KERNEL_O_FILES)
|
|
||||||
objcopy -R .note -R .comment -S -O binary kernel.bin.o kernel.bin
|
|
||||||
|
|
||||||
filler.bin: kernel.bin
|
filler.bin: kernel.bin
|
||||||
bash fill.bash
|
bash fill.bash
|
||||||
@ -42,7 +15,7 @@ filler.bin: kernel.bin
|
|||||||
thor.flp: bootloader.bin micro_kernel.bin kernel.bin filler.bin
|
thor.flp: bootloader.bin micro_kernel.bin kernel.bin filler.bin
|
||||||
cat bootloader/bootloader.bin > thor.bin
|
cat bootloader/bootloader.bin > thor.bin
|
||||||
cat micro_kernel/micro_kernel.bin >> thor.bin
|
cat micro_kernel/micro_kernel.bin >> thor.bin
|
||||||
cat kernel.bin >> thor.bin
|
cat kernel/kernel.bin >> thor.bin
|
||||||
cat filler.bin >> thor.bin
|
cat filler.bin >> thor.bin
|
||||||
dd status=noxfer conv=notrunc if=thor.bin of=thor.flp
|
dd status=noxfer conv=notrunc if=thor.bin of=thor.flp
|
||||||
|
|
||||||
@ -52,6 +25,9 @@ qemu: thor.flp
|
|||||||
bochs: thor.flp
|
bochs: thor.flp
|
||||||
bochs -q -f bochsrc.txt
|
bochs -q -f bochsrc.txt
|
||||||
|
|
||||||
|
force_look:
|
||||||
|
true
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.bin
|
rm -f *.bin
|
||||||
rm -f *.flp
|
rm -f *.flp
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
size=`stat -c%s kernel.bin`
|
size=`stat -c%s kernel/kernel.bin`
|
||||||
let filler_size=8192-$size
|
let filler_size=8192-$size
|
||||||
dd if=/dev/zero of=filler.bin bs=1 count=$filler_size
|
dd if=/dev/zero of=filler.bin bs=1 count=$filler_size
|
||||||
|
26
kernel/Makefile
Normal file
26
kernel/Makefile
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
KERNEL_FLAGS=-masm=intel -Iinclude/ -O1 -std=c++11 -Wall -Wextra -fno-exceptions -fno-rtti -ffreestanding
|
||||||
|
KERNEL_LINK_FLAGS=-std=c++11 -T linker.ld -ffreestanding -O1 -nostdlib
|
||||||
|
|
||||||
|
KERNEL_O_FILES=kernel.o keyboard.o console.o kernel_utils.o timer.o shell.o
|
||||||
|
|
||||||
|
kernel.bin: $(KERNEL_O_FILES)
|
||||||
|
g++ $(KERNEL_LINK_FLAGS) -o kernel.bin.o $(KERNEL_O_FILES)
|
||||||
|
objcopy -R .note -R .comment -S -O binary kernel.bin.o kernel.bin
|
||||||
|
|
||||||
|
kernel.o: src/kernel.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/kernel.cpp -o kernel.o
|
||||||
|
|
||||||
|
keyboard.o: src/keyboard.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/keyboard.cpp -o keyboard.o
|
||||||
|
|
||||||
|
console.o: src/console.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/console.cpp -o console.o
|
||||||
|
|
||||||
|
kernel_utils.o: src/kernel_utils.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/kernel_utils.cpp -o kernel_utils.o
|
||||||
|
|
||||||
|
timer.o: src/timer.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/timer.cpp -o timer.o
|
||||||
|
|
||||||
|
shell.o: src/shell.cpp
|
||||||
|
g++ $(KERNEL_FLAGS) -c src/shell.cpp -o shell.o
|
Loading…
x
Reference in New Issue
Block a user