initial commit
[zxtris] / Makefile
1 name = zxtris
2 src = $(wildcard src/*.asm)
3 obj = $(src:.asm=.o)
4 bin = $(name).bin
5 rom = $(name).rom
6 tap = $(name).tap
7
8 AS = vasmz80_oldstyle
9 ASFLAGS = -Fvobj
10 LD = vlink
11 LDFLAGS = -b rawbin1
12
13 .PHONY: all
14 all: tap rom
15
16 .PHONY: tap
17 tap: $(tap)
18
19 .PHONY: rom
20 rom: $(rom)
21
22 $(bin): $(obj)
23         $(LD) -o $@ $(LDFLAGS) -Ttext 28000 $(obj)
24
25 $(rom): $(obj)
26         $(LD) -o $@ $(LDFLAGS) -Ttext 0 $(obj)
27
28 $(tap): $(bin)
29         appmake +zx -o $@ --org 28000 --blockname $(name) -b $<
30
31 %.o: %.asm
32         $(AS) -o $@ $(ASFLAGS) -L $*.lst $< >/dev/null
33
34 zxtris.o: zxtris.asm tiles.inc glyphs.inc logo.inc
35
36 .PHONY: clean
37 clean:
38         rm -f $(bin) $(rom) $(tap) $(obj) $(obj:.o=.lst)
39
40 .PHONY: run
41 run: $(tap)
42         fuse-sdl $(tap)
43
44 .PHONY: program
45 program: $(rom)
46         minipro -p 'AT28C16E @DIP24' -s -w $<