_AGBINC = 	../include
_AGBLIB = 	F:\private\gba\gcc 
.SFILES	=	crt0.s glib.s
.CFILES	=	main.c

.OFILES	=	$(.SFILES:.s=.o) $(.CFILES:.c=.o)
ASFLAGS	=	-I$(_AGBDIR)/include -mthumb-interwork
CFLAGS  =       -g -O2 -I$(_AGBINC) -Ic:/bin/arminc -mthumb-interwork \
		-nostdlib -Wall -save-temps -fverbose-asm

LDFLAGS	 +=	-Map $(MAPFILE) -nostartfiles \
		-Ttext 0x08000000 -Tbss 0x03000000 \
                -L$(_AGBLIB) \
		-L. \
		-Tlnkscript 
DEPENDFILE	=	Makedepend
MAPFILE		=	supersnake.map
TARGET_ELF	=	supersnake.elf
TARGET_BIN	=	supersnake.bin

$(TARGET_BIN): $(TARGET_ELF)
	objcopy -v -O binary $< $@

$(TARGET_ELF): $(.OFILES) Makefile $(.AFILES) $(DEPENDFILE)
	@echo > $(MAPFILE)
	$(CC) -g -o $@ $(.OFILES) -Wl,$(LDFLAGS)

.PHONY: all clean depend data

all:	clean depend data $(TARGET_BIN)

clean:
	-rm $(.OFILES) $(DEPENDFILE)
clean_data:
	$(foreach .ADIR_TMP, $(dir $(.AFILES)), make -C $(.ADIR_TMP) clean;)

depend:
	$(CC) $(CFLAGS) -M $(.CFILES) > $(DEPENDFILE)

$(DEPENDFILE): 
	$(CC) $(CFLAGS) -M $(.CFILES) > $(DEPENDFILE)

.SUFFIXES: .s .c .o .a

include Gasdepend
include $(DEPENDFILE)

