#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
ifeq ($(strip $(DEVKITARM)),)
$(error "Please set DEVKITARM in your environment. export DEVKITARM=<path to>devkitARM)
endif

include $(DEVKITARM)/ds_rules

export TARGET		:=	$(shell basename $(CURDIR))
export TOPDIR		:=	$(CURDIR)


.PHONY: $(TARGET).arm7 $(TARGET).arm9

#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
all: $(TARGET).ds.gba

$(TARGET).ds.gba	: $(TARGET).nds

#---------------------------------------------------------------------------------
$(TARGET).nds	:	$(TARGET).arm7 $(TARGET).arm9
	ndstool	-c $(TARGET).nds -7 $(TARGET).arm7 -9 $(TARGET).arm9

#---------------------------------------------------------------------------------
$(TARGET).arm7	: arm7/$(TARGET).elf
$(TARGET).arm9	: arm9/$(TARGET).elf

#---------------------------------------------------------------------------------
arm7/$(TARGET).elf:
	$(MAKE) -C arm7
	
#---------------------------------------------------------------------------------
arm9/$(TARGET).elf:
	$(MAKE) -C arm9

#---------------------------------------------------------------------------------
clean:
	$(MAKE) -C arm9 clean
	$(MAKE) -C arm7 clean
	rm -f $(TARGET).ds.gba $(TARGET).nds $(TARGET).arm7 $(TARGET).arm9

images: oscolor.s systemscolor.s billsprite.s extrassprite.s swapsprite.s title.s between.s pause.s gameover.s rules.s story.s about.s

billsprite.s: billsprite.bmp
	grit $< -gB8 -gT778ED4 -Mw2 -Mh4
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

extrassprite.s: extrassprite.bmp
	grit $< -gB8 -gT778ED4 -p! -Mw2 -Mh2
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

swapsprite.s: swapsprite.bmp
	grit $< -gB8 -gT778ED4 -p! -Mw4 -Mh4
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

systemscolor.s: systemscolor.bmp
	grit $< -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

oscolor.s: oscolor.bmp
	grit $< -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

title.s: title.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

about.s: about.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

story.s: story.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

rules.s: rules.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

pause.s: pause.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

between.s: between.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

gameover.s: gameover.bmp
	grit $< -gb -gB8 -gT778ED4 -p!
	mv $(<:.bmp=.s) $(<:.bmp=.h) arm9/source

cflash.img:
	@echo "You must create the disk image to test with an emulator"
	@false

test: $(TARGET).nds
	#desmume --cflash=cflash.img $(TARGET).nds
	desmume $(TARGET).nds

install: $(TARGET).nds
	@cp $(TARGET).nds $(TARGET)_SC.nds
	dldi-scsd-moon $(TARGET)_SC.nds
	#mount /usbkey && mv $(TARGET)_SC.nds /usbkey/nds/ && umount /usbkey/
	mount /media/memcard && mv $(TARGET)_SC.nds /media/memcard/nds/ && umount /media/memcard/

