NASM = nasm PYTHON = python3 QEMU = qemu-system-i386 BUILDOPTS = .SUFFIXES: .SUFFIXES: .bin .asm .ans .wall all: ponydos.img FS_FILES = shell.bin ponydos.wall passion.wall viewer.bin hello.bin memory.bin ponydos.asm ponydos.img: ponydos.bin $(FS_FILES) $(PYTHON) assemble_floppy.py $@ ponydos.bin $(FS_FILES) ponydos.inc: ponydos.asm ponydos_static.inc $(NASM) -fbin -d SYMBOLS -o /dev/null ponydos.asm | $(PYTHON) extract_symbols.py $@ ponydos_static.inc ponydos.bin: ponydos_static.inc shell.bin: ponydos.inc hello.bin: ponydos.inc viewer.bin: ponydos.inc memory.bin: ponydos.inc .asm.bin: $(NASM) -fbin $(BUILDOPTS) -o $@ $< .ans.wall: env BUILDOPTS='$(BUILDOPTS)' $(PYTHON) process_wallpaper.py $@ $< 7 0 0 0 run: ponydos.img $(QEMU) -drive file=$<,index=0,if=floppy,format=raw clean: rm -f *.bin *.img *.wall ponydos.inc distclean: clean size: ponydos.asm @$(NASM) -fbin -d SIZE -o /dev/stdout ponydos.asm | wc -c .PHONY: all run clean distclean size