src = $(wildcard src/*.c)
-ssrc = $(wildcard src/*.s)
-obj = $(src:.c=.o) $(ssrc:.s=.o) $(dataobj)
+ssrc = $(wildcard src/*.s) data/lut.s
+obj = $(src:.c=.o) $(ssrc:.s=.o)
dep = $(src:.c=.d)
name = gbajam21
elf = $(name).elf
bin = $(name).gba
+data = data/tuncross.sraw data/tuncross.spal data/tuncross.shade \
+ data/spr_game.raw data/spr_game.pal \
+ data/tun.map
+
audata = data/audio/popcorn.mod
-dataobj = data/aas_data.o
-libs = libs/aas/libaas.a
+libs = libs/maxmod/libmm.a
TCPREFIX = arm-none-eabi-
AS = $(TCPREFIX)as
OBJCOPY = $(TCPREFIX)objcopy
OBJDUMP = $(TCPREFIX)objdump
-EMU = vbam
opt = -O3 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
-#dbg = -g
-inc = -I. -Ilibs/aas
+dbg = -g
+inc = -I. -Ilibs/maxmod
CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD $(def) $(inc)
ASFLAGS = -mthumb-interwork
LDFLAGS = -mthumb -mthumb-interwork $(libs)
-EMUFLAGS = -T 100 -f 1 --agb-print
-include cfg.mk
$(OBJCOPY) -O binary $(elf) $(bin)
gbafix -r0 $(bin)
-$(elf): data/aas_data.h $(obj) $(libs)
- $(CC) -o $(elf) $(obj) -specs=gba.specs $(LDFLAGS)
+$(elf): data/snd.h $(obj) $(libs)
+ $(CC) -o $(elf) $(obj) -specs=gba.specs -Wl,-Map,link.map $(LDFLAGS)
-include $(dep)
+src/data.o: src/data.s $(data)
+
tools/pngdump/pngdump:
$(MAKE) -C tools/pngdump
-tools/conv2aas/conv2aas:
- $(MAKE) -C tools/conv2aas
+tools/lutgen: tools/lutgen.c
+ cc -o $@ $< -lm
+
+tools/tungen: tools/tungen.c
+ cc -o $@ -O3 -fopenmp $< -lm -lgomp -lpthread
+
+tools/mmutil/mmutil:
+ $(MAKE) -C tools/mmutil
#data/sprites.raw: data/sprites1.png data/sprites2.png data/sprites3.png data/sprites4.png data/sprites5.png data/sprites6.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 $<
+
%.raw: %.png tools/pngdump/pngdump
tools/pngdump/pngdump -o $@ -n $<
%.pal: %.png tools/pngdump/pngdump
tools/pngdump/pngdump -o $@ -c $<
-data/aas_data.h: data/aas_data.s
+data/lut.s: tools/lutgen
+ tools/lutgen >$@
+
+data/tun.map: tools/tungen
+ tools/tungen -s 240x160 -y -c 400 -n 32 >$@
-data/aas_data.s: $(audata) tools/conv2aas/conv2aas
- tools/conv2aas/conv2aas data/audio
+data/snd.bin: $(audata) tools/mmutil/mmutil
+ tools/mmutil/mmutil -o$@ -hdata/snd.h $(audata)
+
+data/snd.h: data/snd.bin
.PHONY: clean
clean:
.PHONY: cleanlibs
cleanlibs:
- $(MAKE) -C libs/aas clean
+ $(MAKE) -C libs/maxmod clean
.PHONY: install
install: $(bin)
.PHONY: simrun
simrun: $(bin)
- $(EMU) $(EMUFLAGS) $(bin)
+ mgba -2 $(bin)
+
+.PHONY: debug
+debug: $(elf)
+ mgba -2 -g $(bin) &
+ $(TCPREFIX)gdb $<
.PHONY: disasm
disasm: $(elf)
.PHONY: libs
libs: $(libs)
-libs/aas/libaas.a:
- $(MAKE) -C libs/aas
+libs/maxmod/libmm.a:
+ $(MAKE) -C libs/maxmod