mirror of
https://github.com/xomboverlord/xomb-bare-bones.git
synced 2026-01-11 18:33:15 +01:00
65 lines
2.5 KiB
Plaintext
65 lines
2.5 KiB
Plaintext
name = xomb
|
|
|
|
CC = x86_64-pc-elf-gcc
|
|
CFLAGS = -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel
|
|
|
|
[*]
|
|
buildflags=-dc=gdc-xomb
|
|
|
|
[../kernel/core/kmain.d]
|
|
|
|
buildflags=-dc=gdc-xomb -I..
|
|
|
|
# compile the assembly for the target
|
|
|
|
prebuild= \
|
|
\
|
|
\
|
|
echo ; \
|
|
echo Compiling Assembly for target: x86_64 ;\
|
|
echo '--> boot.S';\
|
|
x86_64-pc-elf-gcc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -c ../kernel/arch/x86_64/boot/boot.S -o dsss_objs/G/kernel.arch.x86_64.boot.boot.o ; \
|
|
echo '--> load.S';\
|
|
x86_64-pc-elf-gcc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -c ../kernel/arch/x86_64/boot/load.S -o dsss_objs/G/kernel.arch.x86_64.boot.load.o ; \
|
|
#echo '--> trampoline.S';\
|
|
#x86_64-pc-elf-gcc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -c ../kernel/arch/x86_64/boot/trampoline.S -o dsss_objs/G/kernel.arch.x86_64.boot.trampoline.o ;\
|
|
\
|
|
\
|
|
echo ; \
|
|
echo Compiling Kernel Runtime ; \
|
|
echo '--> kernel/runtime/object.d';\
|
|
x86_64-pc-elf-gdc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -I .. -I ../kernel/runtime/. -c ../kernel/runtime/object.d -o dsss_objs/G/kernel.runtime.object.o ;\
|
|
echo '--> kernel/runtime/invariant.d';\
|
|
x86_64-pc-elf-gdc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -I .. -I ../kernel/runtime/. -c ../kernel/runtime/invariant.d -o dsss_objs/G/kernel.runtime.invariant.o ;\
|
|
echo '--> kernel/runtime/std/typeinfo/*';\
|
|
x86_64-pc-elf-gdmd -q,-nostdlib,-nodefaultlibs,-g,-DUSE_ASSERT,-mcmodel=kernel -I.. -I../kernel/runtime/. -c `ls ../kernel/runtime/std/typeinfo/*.d` -oddsss_objs/G/. ;\
|
|
echo '--> kernel/runtime/dstubs.d';\
|
|
x86_64-pc-elf-gdc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -I .. -I ../kernel/runtime/. -c ../kernel/runtime/dstubs.d -o dsss_objs/G/kernel.runtime.dstubs.o ;\
|
|
echo '--> kernel/runtime/util.d';\
|
|
x86_64-pc-elf-gdc -nostdlib -nodefaultlibs -g -DUSE_ASSERT -mcmodel=kernel -I .. -I ../kernel/runtime/. -c ../kernel/runtime/util.d -o dsss_objs/G/kernel.runtime.util.o ;\
|
|
\
|
|
echo ; \
|
|
echo Compiling Kernel Proper ;
|
|
|
|
# what the target is
|
|
|
|
target = xomb.iso
|
|
|
|
# we will need some post build foo to link and create the iso
|
|
|
|
postbuild = \
|
|
\
|
|
echo ; \
|
|
echo Creating Kernel Executable; \
|
|
echo '--> xomb';\
|
|
x86_64-pc-elf-ld -nostdlib -nodefaultlibs -b elf64-x86-64 -T linker.ld -o iso/boot/xomb `ls dsss_objs/G/*.o`;\
|
|
\
|
|
echo ;\
|
|
echo Creating Kernel Dump; \
|
|
echo '--> xomb.dump';\
|
|
rm -f xomb.dump && x86_64-pc-elf-objdump -d -S -r iso/boot/xomb > xomb.dump;\
|
|
\
|
|
echo ;\
|
|
echo Compiling ISO; \
|
|
mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 16 -boot-info-table -o xomb.iso ./iso
|