CC=arm-agb-elf-gcc
OBJCOPY=arm-agb-elf-objcopy
SHELL=sh

# vWFNgit@Cj
NAME	=	gsm

# vWFNgŎgpAZut@C
.SFILES	=	pogoshell2_visoly.s pogoshell2_xrom.s

# vWFNgŎgpbt@C
.CFILES	=	main.c BGChrImg/BGSmall8Font.c \
			GSM610/decode.c GSM610/gsm_decode.c GSM610/long_term.c \
			GSM610/short_term.c GSM610/gsm_create.c GSM610/gsm_destroy.c GSM610/gsm_option.c GSM610/rpe.c GSM610/table.c

# IuWFNgt@C
.OFILES	=	$(.SFILES:.s=.o) $(.CFILES:.c=.o)

# AZutO
ASFLAGS	=	-mthumb-interwork

# RpCtO
CFLAGS	=	-g -O3 -mthumb-interwork -finhibit-size-directive \
		-fverbose-asm -fpeephole -mlong-calls -W -Wall -Winline

# NtO
LDFLAGS	 =	-Map $(MAPFILE) \
		-Wall -mthumb-interwork -mlong-calls -T$(DEVKITADV)/crtls/lnkscript
		
# t@C
DEPENDFILE	=	Makedepend.txt
MAPFILE		=	$(NAME).map
TARGET_ELF	=	$(NAME).elf
TARGET_BIN	=	$(NAME).bin


# RpCENߒ

$(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)

.SUFFIXES: .s .c .o .a
