Initial commit.
This commit is contained in:
49
Makefile
Normal file
49
Makefile
Normal file
@@ -0,0 +1,49 @@
|
||||
.PHONY: all rebuild clean spotless newimage
|
||||
|
||||
all: tos.sys
|
||||
|
||||
rebuild: clean all
|
||||
|
||||
run:
|
||||
qemu-system-x86_64 -vga std -smp 8 -m 256 -drive id=disk,file=bmfs.image,format=raw,if=none -device ahci,id=ahci -device ide-drive,drive=disk,bus=ahci.0 -name "LLL"
|
||||
|
||||
tos.sys: vm.bin pure64.sys
|
||||
dd if=/dev/zero of=kernel.bin bs=1M count=1
|
||||
dd if=vm.bin of=kernel.bin bs=512 conv=notrunc
|
||||
dd if=heap.bin of=kernel.bin seek=256 bs=512 conv=notrunc
|
||||
./bmfs bmfs.image write kernel.bin
|
||||
cat pure64.sys kernel64.sys > tos.sys
|
||||
dd if=tos.sys of=bmfs.image bs=512 seek=16 conv=notrunc
|
||||
|
||||
vm.bin: vm.o vm-loader.o heap.bin
|
||||
gcc -T vm.ld -o vm.bin -ffreestanding -O3 -nostdlib vm-loader.o vm.o -lgcc -mno-red-zone
|
||||
|
||||
vm.o: vm.c prescheme.h
|
||||
gcc -O3 -o vm.o -c vm.c -nostdlib -nostartfiles -nodefaultlibs -mno-red-zone -std=gnu99 -ffreestanding
|
||||
|
||||
vm.c: ev.scm ps-macros.scm packages.scm terminal.scm
|
||||
scheme48 -i ps-vm-compiler.image < compile-vm.scm
|
||||
|
||||
vm-loader.o: vm-loader.asm
|
||||
nasm -f elf64 vm-loader.asm -o vm-loader.o
|
||||
|
||||
heap.bin: heap-writer.scm ev.scm ev-runtime.scm ev-environment.scm
|
||||
csi -s heap-writer.scm
|
||||
|
||||
heap-debug.bin: heap-writer.scm ev.scm ev-runtime.scm ev-environment.scm
|
||||
csi -D debug -s heap-writer.scm
|
||||
|
||||
newimage:
|
||||
dd if=/dev/zero of=bmfs.image bs=1M count=8
|
||||
./bmfs bmfs.image format /force
|
||||
dd if=bmfs_mbr.sys of=bmfs.image bs=512 conv=notrunc
|
||||
./bmfs bmfs.image create kernel.bin 1
|
||||
make clean
|
||||
|
||||
clean:
|
||||
rm -f *.o *.so *.bin tos.sys heap-writer vm.c
|
||||
|
||||
spotless:
|
||||
rm -f bmfs.image
|
||||
make clean
|
||||
|
||||
Reference in New Issue
Block a user