src = $(wildcard src/*.c) ssrc = $(wildcard src/*.s) 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 CC = $(TCPREFIX)gcc 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 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 .PHONY: all all: $(bin) $(bin_mb) $(bin): $(elf) $(OBJCOPY) -O binary $(elf) $(bin) gbafix -r0 $(bin) $(elf): data/aas_data.h $(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 $^ %.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/aas_data.s: $(audata) tools/conv2aas/conv2aas tools/conv2aas/conv2aas data/audio .PHONY: clean clean: rm -f $(obj) $(bin) $(bin_mb) $(elf) $(elf_mb) .PHONY: cleandep cleandep: rm -f $(dep) .PHONY: cleanlibs cleanlibs: $(MAKE) -C libs/aas clean .PHONY: install install: $(bin) if2a -n -f -W $< .PHONY: run run: $(bin_mb) if2a -m $< .PHONY: simrun simrun: $(bin) $(EMU) $(EMUFLAGS) $(bin) .PHONY: disasm disasm: $(elf) $(OBJDUMP) -d $< >$@ .PHONY: libs libs: $(libs) libs/aas/libaas.a: $(MAKE) -C libs/aas