1 src = $(wildcard src/boot/*.asm) $(wildcard src/*.asm)
3 data = data/sprsheet.inc
9 LDFLAGS = -m elf_i386 -T game.ld -print-gc-sections
11 QEMU_FLAGS = -fda floppy.img -serial file:serial.log -d guest_errors
17 dd of=$@ if=/dev/zero bs=512 count=2880
18 dd of=$@ if=$< conv=notrunc
20 boot.img: bootldr.bin $(bin)
24 objcopy -O binary -j '.boot*' $< $@
26 $(bin): $(elf) $(data)
27 objcopy -O binary -R '.boot*' $< $@
30 $(LD) -o $@ $(obj) -Map link.map $(LDFLAGS)
33 nasm -o $@ $(ASFLAGS) $<
35 data/sprsheet.inc: data/sprsheet.png
36 img2tiles -o $@ -n -t 32x32 $<
40 rm -f $(bin) $(obj) bootldr.bin floppy.img boot.img
43 disasm: bootldr.disasm $(name).disasm
45 bootldr.disasm: $(elf)
46 objdump -d $< -j .boot -j .boot2 -m i8086 >$@
48 $(name).disasm: $(elf)
49 objdump -d $< -j .text -m i386 >$@
52 objcopy --only-keep-debug $< $@
56 qemu-system-i386 $(QEMU_FLAGS)
60 qemu-system-i386 $(QEMU_FLAGS) -s -S