Get it all building
This commit is contained in:
parent
30823ca314
commit
2b41a47bcd
2 changed files with 16 additions and 13 deletions
|
@ -2,6 +2,9 @@
|
||||||
# vim: set ft=python:
|
# vim: set ft=python:
|
||||||
# Eryn Wells <eryn@erynwells.me>
|
# Eryn Wells <eryn@erynwells.me>
|
||||||
|
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
'boot.s',
|
'boot.s',
|
||||||
'crti.s',
|
'crti.s',
|
||||||
|
@ -9,17 +12,17 @@ files = [
|
||||||
'main.cc',
|
'main.cc',
|
||||||
]
|
]
|
||||||
|
|
||||||
Replace(AS='i686-elf-as',
|
toolchain_bin = Dir(os.environ['POLKA_TOOLCHAIN']).Dir('bin')
|
||||||
CC='clang',
|
Replace(AS=toolchain_bin.File('i686-elf-as'),
|
||||||
CXX='clang++',
|
CC=toolchain_bin.File('i686-elf-gcc'),
|
||||||
LINK='i686-elf-ld')
|
CXX=toolchain_bin.File('i686-elf-g++'),
|
||||||
Append(CFLAGS='-std=gnu99',
|
LINK=toolchain_bin.File('i686-elf-ld'))
|
||||||
CCFLAGS='-target i686-pc-elf -ffreestanding',
|
Append(CCFLAGS='-ffreestanding',
|
||||||
CXXFLAGS='-std=gnu++11 -fno-exceptions -fno-rtti',
|
CPPDEFINES='__polka',
|
||||||
LINKFLAGS='-nostdlib')
|
CXXFLAGS='-fno-exceptions -fno-rtti',
|
||||||
|
LINKFLAGS='-nostdlib -lgcc')
|
||||||
|
|
||||||
linker_script = File('linker.ld')
|
linker_script = File('linker.ld')
|
||||||
|
|
||||||
kernel = Program('polka.bin', files, LINKFLAGS='-T {}'.format(linker_script.path))
|
kernel = Program('polka.bin', files, LINKFLAGS='-T {}'.format(linker_script.path))
|
||||||
Depends(kernel, linker_script)
|
Depends(kernel, linker_script)
|
||||||
Alias('kernel', kernel)
|
Alias('kernel', kernel)
|
||||||
|
@ -28,8 +31,8 @@ img_dir = Dir('img')
|
||||||
grub_cfg = File('grub.cfg')
|
grub_cfg = File('grub.cfg')
|
||||||
image_dir = Command(img_dir, kernel, [
|
image_dir = Command(img_dir, kernel, [
|
||||||
Mkdir(img_dir.Dir('boot/grub')),
|
Mkdir(img_dir.Dir('boot/grub')),
|
||||||
Copy(img_dir.File('boot/${SOURCE.file}'), '$SOURCE'),
|
Copy(os.path.join(img_dir.Dir('boot').path, '${SOURCE.file}'), '$SOURCE'),
|
||||||
Copy(img_dir.Dir('boot/grub'), grub_cfg)
|
Copy(img_dir.Dir('boot/grub'), grub_cfg.srcnode())
|
||||||
])
|
])
|
||||||
Clean(image_dir, img_dir)
|
Clean(image_dir, img_dir)
|
||||||
image = Command('polka.img', image_dir, [
|
image = Command('polka.img', image_dir, [
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
menuentry "paisley" {
|
menuentry "polka" {
|
||||||
multiboot /boot/paisley.bin
|
multiboot /boot/polka.bin
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue