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

include $(DEVKITSH4)/exword_rules


TARGET		:= ndump
SOURCEDIR 	:= src
HTMLDIR		:= html
MODNAME		:= bj001m
APPTITLE	:= NOR Dumper v1.2
APPID		:= NDUMP
APPMOD		:= $(TARGET).d01

BUILDS		:=	ja cn

CFILES		:=	$(wildcard $(SOURCEDIR)/*.c)
SFILES		:=	$(wildcard $(SOURCEDIR)/*.s)
HTMLINFILES	:= 	$(foreach dir,$(BUILDS),$(wildcard $(HTMLDIR)/$(dir)/*.in))

OBJECTS		:= 	$(CFILES:.c=.o) $(SFILES:.s=.o)
HTML		:=	$(HTMLINFILES:.htm.in=.htm)

LDFLAGS := -nostdlib -L$(DEVKITPRO)/libexword/lib -lexword
CFLAGS := -I$(DEVKITPRO)/libexword/include

.PHONY: clean app

app: $(TARGET).d01 $(HTML)
	@for build in $(BUILDS) ; do \
		echo building $$build version in build/$$build/$(APPID)...; \
		mkdir -p $(CURDIR)/build/$$build/$(APPID) ; \
		cp $(TARGET).d01 $(CURDIR)/build/$$build/$(APPID) ; \
		cp html/$$build/*.htm $(CURDIR)/build/$$build/$(APPID) ; \
		touch $(CURDIR)/build/$$build/$(APPID)/fileinfo.cji ; \
	done

$(TARGET).d01: $(TARGET).elf

$(TARGET).elf: $(OBJECTS)

clean:
	@echo clean ...
	@rm -fr build $(HTML) $(OBJECTS) $(TARGET).elf $(TARGET).d01 *.map


%.htm: %.htm.in
	@echo building html $@...
	@sed -e 's/@APPTITLE/$(APPTITLE)/g' \
	    -e 's/@APPID/$(APPID)/g'       \
	    -e 's/@APPMOD/$(APPMOD)/g' $< > $@
