all: programs bits32 bits64 harddisk uefi sync bits32: ARCH=bits32 bits32: lib/libs.o system/system.sys sync bits64: ARCH=bits64 bits64: lib/libs.o system/system.sys sync programs: programs/test programs/test: make -C programs harddisk: final/harddisk.img.final uefi: final/harddiskuefi.img.final install: (sudo apt-get install nasm gcc qemu fusefat fuseext2 cgdb ovmf bsdmainutils tar bsdmainutils indent binutils bochs bochs-x bochsbios) clean: make -C system clean make -C lib clean make -C final clean make -C programs clean sync littleclean: make -C system clean make -C lib clean make -C final littleclean) make -C programs clean sync indent: make -C system indent make -C lib indent sync backup: clean (cd .. ; tar cf - Source\ C | gzip -f - > backup.tar.gz) test: bits32 harddisk qemu test64: bits64 uefi qemu64 retest: littleclean test retest64: littleclean test64 testbochs: bits32 harddisk bochs-debug view: (hexdump -C ./final/harddisk.img.final|head -c10000) debug: debug-system redebug: littleclean debug-system debug64: debug-system64 redebug64: littleclean debug-system64 debug-boot: bits32 harddisk qemu-debug (sleep 2;cgdb -x ./debug/boot.txt) debug-loader: bits32 harddisk qemu-debug (sleep 2;cgdb -x ./debug/loader.txt) debug-system: bits32 harddisk qemu-debug (sleep 2;cgdb -x ./debug/system.txt) debug-system64: bits64 uefi qemu-debug64 (sleep 2;cgdb -x ./debug/system.txt) bochs-debug: (killall bochs-debug;bochs -f ./debug/config.bochs) qemu-debug: (killall qemu-system-i386;qemu-system-i386 -m 1G -drive format=raw,file=./final/harddisk.img.final -s -S &) qemu-debug64: (killall qemu-system-x86_64;qemu-system-x86_64 -m 5G -drive format=raw,file=./final/harddiskuefi.img.final --bios /usr/share/qemu/OVMF.fd -s -S &) qemu: (killall qemu-system-i386;qemu-system-i386 -m 1G -drive format=raw,file=./final/harddisk.img.final --enable-kvm -cpu host -s &) qemu64: (killall qemu-system-x86_64;qemu-system-x86_64 -m 5G -drive format=raw,file=./final/harddiskuefi.img.final --bios /usr/share/qemu/OVMF.fd --enable-kvm -cpu host -s &) system/system.sys: make -C system VESA=$(VESA) final/harddisk.img.final: make -C final harddisk.img.final final/harddiskuefi.img.final: make -C final harddiskuefi.img.final lib/libs.o: make -C lib