_AGBINC = C:\Emu\Gba\dev\armgcc\include
_AGBLIB = C:\Emu\Gba\dev\armgcc\lib
.CFILES	=	main.c

.OFILES  =  C:\Emu\Gba\dev\armgcc\gfxlib\crt0.o $(.CFILES:.c=.o)
ASFLAGS	=	-I$(_AGBDIR)/include -mthumb-interwork
CFLAGS  =       -g -O2 -I$(_AGBINC) -mthumb-interwork \
		-nostdlib -Wall -save-temps -fverbose-asm

LDFLAGS	 +=	-Map $(MAPFILE) -nostartfiles \
		-Ttext 0x08000000 -Tbss 0x03000000 \
                -L$(_AGBLIB) \
		-L. \
		-Tlnkscript 
DEPENDFILE	=	Makedepend
MAPFILE     =  fruit.map
TARGET_ELF  =  fruit.elf
TARGET_BIN  =  fruit.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 $(DEPENDFILE)

