update readme
[metatoy] / Makefile
1 src = $(wildcard src/*.c) $(wildcard src/nondos/*.c) $(wildcard src/3dgfx/*.c)
2 ssrc = src/data.asm
3 obj = $(src:.c=.o) $(ssrc:.asm=.o)
4 dep = $(src:.c=.d)
5 bin = game
6
7 inc = -Isrc -Isrc/3dgfx -Isrc/kern
8
9 CFLAGS = -pedantic -Wall -O2 -ffast-math -fno-strict-aliasing -g $(inc) -MMD
10 LDFLAGS = -lGL -lX11 -lXext -lm
11
12 PNGDUMP = tools/pngdump/pngdump
13
14
15 $(bin): $(obj)
16         $(CC) -o $@ $(obj) $(LDFLAGS)
17
18 -include $(dep)
19
20 src/data.o: src/data.asm data/tex.img
21         nasm -f elf64 -o $@ $<
22
23 tools/pngdump/pngdump:
24         $(MAKE) -C tools/pngdump
25
26 data/tex.img: data/tex.png $(PNGDUMP)
27         $(PNGDUMP) -o $@ -oc $(subst .img,.pal,$@) -os $(subst .img,.slut,$@) -s 8 $<
28
29 .PHONY: clean
30 clean:
31         rm -f $(obj) $(bin)
32
33 .PHONY: cleandep
34 cleandep:
35         rm -f $(dep)