src = $(wildcard src/*.c)
ssrc = $(wildcard src/*.s)
-obj = $(src:.c=.o) $(ssrc:.s=.o)
+obj = $(src:.c=.o) $(ssrc:.s=.o) $(dataobj)
dep = $(src:.c=.d)
name = gbajam21
elf = $(name).elf
bin = $(name).gba
+audata = data/audio/popcorn.mod
+dataobj = data/aas_data.o
+
+libs = libs/aas/libaas.a
+
TCPREFIX = arm-none-eabi-
CPP = $(TCPREFIX)cpp
opt = -O3 -fomit-frame-pointer -mcpu=arm7tdmi -mtune=arm7tdmi -mthumb -mthumb-interwork
#dbg = -g
+inc = -I. -Ilibs/aas
-CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD $(def)
+CFLAGS = $(opt) $(dbg) -pedantic -Wall -MMD $(def) $(inc)
ASFLAGS = -mthumb-interwork
-LDFLAGS = -mthumb -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): $(obj)
+$(elf): $(obj) $(libs)
$(CC) -o $(elf) $(obj) -specs=gba.specs $(LDFLAGS)
-include $(dep)
tools/pngdump/pngdump:
$(MAKE) -C tools/pngdump
+tools/conv2aas/conv2aas:
+ $(MAKE) -C tools/conv2aas
+
#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 $^
%.pal: %.png tools/pngdump/pngdump
tools/pngdump/pngdump -o $@ -c $<
+data/aas_data.h: data/aas_data.s
+
+data/aas_data.s: $(audata) tools/conv2aas/conv2aas
+ tools/conv2aas/conv2aas data/audio
+
.PHONY: clean
clean:
rm -f $(obj) $(bin) $(bin_mb) $(elf) $(elf_mb)
cleandep:
rm -f $(dep)
+.PHONY: cleanlibs
+cleanlibs:
+ $(MAKE) -C libs/aas clean
+
.PHONY: install
install: $(bin)
if2a -n -f -W $<
.PHONY: disasm
disasm: $(elf)
$(OBJDUMP) -d $< >$@
+
+.PHONY: libs
+libs: $(libs)
+
+libs/aas/libaas.a:
+ $(MAKE) -C libs/aas