-src = $(wildcard src/*.c)
-ssrc = $(wildcard src/*.s) data/lut.s
-obj = $(src:.c=.o) $(ssrc:.s=.o)
-dep = $(src:.c=.d)
+src = $(wildcard src/*.c) $(wildcard src/gba/*.c)
+ssrc = $(wildcard src/*.s) $(wildcard src/gba/*.s) data/lut.s
+obj = $(src:.c=.arm.o) $(ssrc:.s=.arm.o)
+dep = $(src:.c=.arm.d)
name = gbajam22
elf = $(name).elf
bin = $(name).gba
+data = data/color.raw data/color.pal data/height.raw \
+ data/spr_game.raw data/spr_game.pal
+
libs = libs/maxmod/libmm.a
TCPREFIX = arm-none-eabi-
OBJCOPY = $(TCPREFIX)objcopy
OBJDUMP = $(TCPREFIX)objdump
-opt = -O0 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
+def = -DBUILD_GBA
+opt = -O3 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
dbg = -g
-inc = -I. -Ilibs/maxmod
+inc = -I. -Isrc -Isrc/gba -Ilibs/maxmod
+warn = -pedantic -Wall
-CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD $(def) $(inc)
+CFLAGS = $(opt) $(dbg) $(warn) -MMD $(def) $(inc)
ASFLAGS = -mthumb-interwork
LDFLAGS = -mthumb -mthumb-interwork $(libs) -lm
-include $(dep)
+%.arm.o: %.c
+ $(CC) -o $@ $(CFLAGS) -c $<
+
+%.arm.o: %.s
+ $(AS) -o $@ $(ASFLAGS) $<
+
src/data.o: src/data.s $(data)
+src/data.arm.o: src/data.s $(data)
tools/pngdump/pngdump:
$(MAKE) -C tools/pngdump
tools/lutgen: tools/lutgen.c
cc -o $@ $< -lm
+tools/vistab: tools/vistab.c
+ cc -o $@ $< -lm
+
tools/mmutil/mmutil:
$(MAKE) -C tools/mmutil
+#data/spr_game.raw: data/spr_ui.png data/spr_hud.png
+# tools/pngdump/pngdump -o $@ -n $^
+
%.sraw: %.png tools/pngdump/pngdump
tools/pngdump/pngdump -o $@ -oc $(subst .sraw,.spal,$@) -os $(subst .sraw,.shade,$@) -s 8 $<
.PHONY: run
run: $(bin)
- mgba -2 $(bin)
+ mgba -3 --log-level=16 $(bin)
.PHONY: debug
debug: $(elf)
mgba -2 -g $(bin) &
- $(TCPREFIX)gdb $<
+ $(TCPREFIX)gdb -x gdbmgba $<
.PHONY: disasm
disasm: $(elf)
libs/maxmod/libmm.a:
$(MAKE) -C libs/maxmod
+
+
+.PHONY: pc
+pc:
+ $(MAKE) -f Makefile.pc