semi-transparent delete window
[gba_blender] / Makefile
1 src = $(wildcard src/*.c)
2 ssrc = $(wildcard src/*.s)
3 #dataobj = data/data.o
4 obj = $(src:.c=.o) $(ssrc:.s=.o) $(dataobj)
5 dep = $(src:.c=.d)
6 name = blender
7 elf = $(name).elf
8 bin = $(name).gba
9
10 ARCH = arm-none-eabi-
11
12 CPP = $(ARCH)cpp
13 CC = $(ARCH)gcc
14 AS = $(ARCH)as
15 OBJCOPY = $(ARCH)objcopy
16 EMU = vbam
17
18 opt = -O3 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
19 #dbg = -g
20
21 CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD
22 ASFLAGS = -mthumb-interwork
23 LDFLAGS = -mthumb -mthumb-interwork -lm
24 EMUFLAGS = -T 100 -f 1 --agb-print
25
26
27 .PHONY: all
28 all: $(bin) $(bin_mb)
29
30 $(bin): $(elf)
31         $(OBJCOPY) -O binary $(elf) $(bin)
32         gbafix $(bin)
33
34 $(elf): $(obj)
35         $(CC) -o $(elf) $(obj) -specs=gba.specs $(LDFLAGS)
36
37 -include $(dep)
38
39 src/data.o: src/data.s data/bg.raw data/bg.pal data/sprites.raw data/sprites.pal
40
41 tools/pngdump/pngdump:
42         $(MAKE) -C tools/pngdump
43
44 %.raw: %.png tools/pngdump/pngdump
45         tools/pngdump/pngdump -o $@ -n $<
46
47 %.pal: %.png tools/pngdump/pngdump
48         tools/pngdump/pngdump -o $@ -c $<
49
50 .PHONY: clean
51 clean:
52         rm -f $(obj) $(bin) $(bin_mb) $(elf) $(elf_mb)
53
54 .PHONY: cleandep
55 cleandep:
56         rm -f $(dep)
57
58 .PHONY: install
59 install: $(bin)
60         if2a -n -f -W $<
61
62 .PHONY: run
63 run: $(bin_mb)
64         if2a -m $<
65
66 .PHONY: simrun
67 simrun: $(bin)
68         $(EMU) $(EMUFLAGS) $(bin)
69
70 .PHONY: disasm
71 disasm: $(elf)
72         $(ARCH)objdump -d $< >$@