transitions for both shapes
[metatoy] / Makefile.dos
1 csrc = $(wildcard src/*.c) $(wildcard src/kern/*.c) $(wildcard src/libc/*.c) \
2            $(wildcard src/3dgfx/*.c)
3 ssrc = $(wildcard src/*.asm) $(wildcard src/kern/*.asm) $(wildcard src/libc/*.asm)
4 obj = $(csrc:.c=.o32) $(ssrc:.asm=.o32)
5 dep = $(csrc:.c=.d)
6 bin = game.com
7
8 warn = -pedantic -Wall -Wno-unused-function
9 opt = -O2
10 inc = -Isrc -Isrc/3dgfx -Isrc/kern -Isrc/libc
11
12 AS = nasm
13
14 ASFLAGS = -Isrc/ -Isrc/kern/
15 CFLAGS = -m32 -march=i386 $(warn) $(opt) $(dbg) -fno-pic -ffreestanding \
16                  -fno-stack-protector -mpreferred-stack-boundary=2 -nostdinc -ffast-math \
17                  -fno-asynchronous-unwind-tables -fno-strict-aliasing $(inc) $(def) -MMD
18 LDFLAGS = -m elf_i386 -nostdlib -T com32.ld -Map game.map
19
20 $(bin): $(obj)
21         $(LD) -o $@ $(obj) $(LDFLAGS)
22
23 -include $(dep)
24
25 %.o32: %.c
26         $(CC) -o $@ $(CFLAGS) -c $<
27
28 %.o32: %.asm
29         $(AS) -o $@ -f elf $(ASFLAGS) $<
30
31 %.s: %.c
32         $(CC) $(CFLAGS) -masm=intel -S $< -o $@
33
34 src/data.o32: src/data.asm data/tex.img
35         $(AS) -o $@ -f elf $(ASFLAGS) $<
36
37 tools/pngdump/pngdump:
38         $(MAKE) -C tools/pngdump
39
40 .PHONY: clean
41 clean:
42         rm -f $(obj) $(bin)
43
44 .PHONY: cleandep
45 cleandep:
46         rm -f $(dep)
47
48 disasm: $(bin)
49         ndisasm -o 0x100 -b 16 $< >$@