all:
	nasmw      -f bin file_data.asm -o file_data.dat
	
	nasmw -O32 -f bin boot.asm -o boot.bin            
	nasmw -O32 -f aout kernel.asm -o kernel.o
	nasmw -O32 -f aout isr.asm -o isr.o
	nasmw -O32 -f aout process.asm -o process.o
	nasmw -O32 -f aout flush.asm -o flush.o
		
	gcc  -Wall -O  -c ckernel.c -o ckernel.o    
	gcc  -Wall -O  -c video.c -o video.o -O1
	gcc  -Wall -O  -c math.c -o math.o -O1
	gcc        -O  -c util.c -o util.o -O1
	gcc  -Wall -O  -c gdt.c -o gdt.o
	gcc  -Wall -O  -c idt.c -o idt.o
	gcc  -Wall -O  -c isrs.c -o isrs.o	
	gcc  -Wall -O  -c irq.c -o irq.o
	gcc  -Wall -O  -c timer.c -o timer.o 	
	gcc  -Wall -O  -c keyboard.c -o keyboard.o
	gcc  -Wall -O  -c ordered_array.c -o ordered_array.o
	gcc  -Wall -O  -c paging.c -o paging.o
	gcc  -Wall -O  -c kheap.c -o kheap.o
	gcc  -Wall -O  -c descriptor_tables.c -o descriptor_tables.o
	gcc  -Wall -O  -c task.c -o task.o 
	gcc  -Wall -O  -c fs.c -o fs.o
	gcc  -Wall -O  -c initrd.c -o initrd.o  
	gcc  -Wall -O  -c syscall.c -o syscall.o  

	ld -T kernel.ld kernel.o isr.o ckernel.o video.o flush.o gdt.o idt.o isrs.o irq.o util.o math.o timer.o keyboard.o process.o ordered_array.o paging.o kheap.o descriptor_tables.o task.o fs.o initrd.o syscall.o  -o ckernel.bin -Map kernel.map
	
	cmd /c copy /b boot.bin + ckernel.bin MyOS    
	
	del *.aout
	del *.o
	del *.bin
	cmd /c rename MyOS MyOS.bin
	del MyOS
	
	partcopy MyOS.bin 0 7000 -f0
	
	
	
