You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
		
		
			
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
| 
								 
											7 years ago
										 
									 | 
							
								.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
							 | 
						||
| 
								 | 
							
								
							 |