49 lines
1.1 KiB
Batchfile
49 lines
1.1 KiB
Batchfile
# ignore this as it will be deprecated video/tty.c
|
|
|
|
|
|
|
|
cd chroma
|
|
|
|
# compile all the tings
|
|
x86_64-elf-gcc -ffreestanding -O2 -Wall -Wextra -c^
|
|
-I inc^
|
|
kernel.c video/draw.c video/print.c^
|
|
system/memory/paging.c system/memory/physmem.c^
|
|
system/drivers/keyboard.c^
|
|
system/cpu.c system/rw.c system/serial.c
|
|
|
|
#gcc will complain about sse instrs if we use intr attr without this flag
|
|
x86_64-elf-gcc -ffreestanding -O2 -Wall -Wextra -mgeneral-regs-only -c^
|
|
-I inc^
|
|
system/interrupts.c
|
|
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
# get our font for linking
|
|
x86_64-elf-ld -r -b binary -o font.o font.psf
|
|
|
|
# link all the files
|
|
x86_64-elf-gcc -T linker.ld -ffreestanding -O2 -nostdlib -lgcc^
|
|
chroma/kernel.o chroma/draw.o chroma/print.o^
|
|
chroma/paging.o chroma/physmem.o^
|
|
chroma/keyboard.o^
|
|
chroma/cpu.o chroma/rw.o chroma/serial.o^
|
|
chroma/interrupts.o^
|
|
font.o^
|
|
-o kernel.elf
|
|
|
|
# generate our iso image :D
|
|
# copy the elf to where grub wants it
|
|
# and delete any old ones for good measure first
|
|
|
|
rm iso/boot/kernel.elf
|
|
rm chroma.iso
|
|
cp kernel.elf iso/boot/initrd
|
|
|
|
xorriso -as mkisofs -U -no-emul-boot -b boot/bootloader -hide boot/bootloader -V "Chroma v4a" -iso-level 3 -o chroma.iso iso/
|
|
|
|
|
|
pause |