#! make -f
#----------------------------------------------------------------------------
# Project:  n`֘Af[^->oCi[>A[JCu
# File:     Makefile
#
# Copyright 2005 GameFreak.inc  All rights reserved.
#
#----------------------------------------------------------------------------

# localize_spec_mark(LANG_ALL) imatake 2007/02/09
# ̌łƐiłƂŐA[JCu؂ւ悤ɕύX

DP_ROOT	=	../../..

SUBDIRS		=

LAND_LIST	= land_list
LAND_ARCLIST = land_arc_list
ifdef PG5_TRIAL
TARGET_ARC	= land_data_trial.narc
else
TARGET_ARC	= land_data_release.narc
endif
XLS_DATA	= map_list.xls
FLDCSV		= field_list.csv
ROOMCSV		= room_list.csv
DUNCSV		= dungeon_list.csv
UNDERCSV	= under_list.csv


DATABIN		:= ../../data/
ifdef PG5_TRIAL
DATASRC		:= $(DATABIN)rsc/trial
FLDMAPDATADIR	:= $(DATABIN)fld_map_data/trial
BINDIR		:= bin_trial
NSBMTDIR	:= land_nsbmt/
SRCDIR		:= ../../data/fld_map_data/trial/
else
DATASRC		:= $(DATABIN)rsc
FLDMAPDATADIR	:= $(DATABIN)fld_map_data
BINDIR		:= bin_release
NSBMTDIR	:= land_nsbmt/
SRCDIR		:= ../../data/fld_map_data/
endif
NSBMTFILESDIR	= land_nsbmt/
ROOT_DIR = ../../../../pokemon_dp


MAPMATRIX_DIR = ../mapmatrix

ATTRIBUTE_DATA	= $(FLDMAPDATADIR)/*a.dat
MODEL_POS_DATA	= $(FLDMAPDATADIR)/*e.dat
HEIGHT_DATA	= $(FLDMAPDATADIR)/*c.bhc

DATAMAPDMY		= dmyfiles/
DATAMAPSRC		= $(DATASRC)/
DATAMAPFLST		= mkmapdmy.txt

#ʕϐ`
include $(DP_ROOT)/commondefs.GF
include	$(NITROSYSTEM_ROOT)/build/buildtools/modulerules

include land_model_list
include land_list
G3D_NSBMT = $(G3D_IMD:.imd=.nsbmt)
G3D_TARGET		= $(subst $(DATASRC)/,$(NSBMTFILESDIR),$(G3D_NSBMT))

#----------------------------------------------------------------------------
#
#----------------------------------------------------------------------------
#A[JCut@Cmake cleanΏۂɐݒ
#LDIRT_CLEAN	= $(LAND_LIST) 
ifdef PG5_TRIAL
LDIRT_CLEAN	= $(LAND_ARCLIST) land_data_trial.narc bin_trial/*.bin land_nsbmt/*.nsbmt file_path.txt
else
LDIRT_CLEAN	= $(LAND_ARCLIST) land_data_release.narc bin_release/*.bin land_nsbmt/*.nsbmt file_path.txt
endif

LINCLUDES		= $(NITROSDK_ROOT)/include
LINCLUDES		+= $(DP_ROOT)/src/field

LINCLUDES	+= $(dir $<)

#----------------------------------------------------------------------------
#	c[ւ̃pXw
#----------------------------------------------------------------------------
G3DCVTR	= $(NITROSYSTEM_ROOT)/tools/win/bin/g3dcvtr.exe
CSVCVTR	= $(DP_ROOT)/convert/exceltool/ExcelSeetConv.exe
MK_GROUNDTOOL = mkmapdmy.rb

#%.nsbmt: $(@:.nsbmt=.imd) $(subst $(DATASRC)/,$(NSBMTFILESDIR),$@)
#	$(G3DCVTR) $(@:.nsbmt=.imd) -o $(subst $(DATASRC)/,$(NSBMTFILESDIR),$(@:.nsbmt=.nsbmd)) -emdl
#	mv $(subst $(DATASRC)/,$(NSBMTFILESDIR),$(@:.nsbmt=.nsbmd)) $(subst $(DATASRC)/,$(NSBMTFILESDIR),$@)

#%.nsbmt: $(subst $(NSBMTFILESDIR),$(DATASRC)/,$(@:.nsbmt=.imd))
%.nsbmt: ../$(DATASRC)/%.imd
	$(G3DCVTR) $(subst $(NSBMTFILESDIR),$(DATASRC)/,$(@:.nsbmt=.imd)) -o $(@:.nsbmt=.nsbmd) -emdl
	echo	$^
	mv $(@:.nsbmt=.nsbmd) $@

%.bin: ../$(FLDMAPDATADIR)/%a.dat ../$(FLDMAPDATADIR)/%e.dat ../$(FLDMAPDATADIR)/%c.bhc ../land_nsbmt/%c.nsbmt
	ruby land_file_cat.rb $@
	rm $(subst bin/,tmp/,$(@:.bin=.tmp))

#----------------------------------------------------------------------------
#
#	[`
#
#----------------------------------------------------------------------------
do-build:
	@cp -f $(BINDIR)/mv_dummy $(BINDIR)/mv_dummy.bin
	@mv $(BINDIR)/*.bin bin/
	@echo $(NSBMTDIR) > file_path.txt
	@echo $(SRCDIR) >> file_path.txt
	@$(MAKE) $(TARGET_ARC)
	@mv bin/*.bin $(BINDIR)/
	@rm file_path.txt

$(LAND_ARCLIST): $(XLS_DATA)
	$(CSVCVTR) -o $(FLDCSV) -p 1 -s csv $(XLS_DATA)		#tB[h
	$(CSVCVTR) -o $(ROOMCSV) -p 2 -s csv $(XLS_DATA)	#[
	$(CSVCVTR) -o $(DUNCSV) -p 3 -s csv $(XLS_DATA)		#_W
	$(CSVCVTR) -o $(UNDERCSV) -p 4 -s csv $(XLS_DATA)	#n
	ruby land_list.rb $(FLDCSV) $(ROOMCSV) $(DUNCSV) $(UNDERCSV)		#Xg쐬

#IMDMSBNTɕϊ
imdconv: $(G3D_TARGET)

#f[^
datacat: $(CONCAT_TARGET)

$(TARGET_ARC): $(CONCAT_TARGET)	$(LAND_ARCLIST)
	$(MAKE) makearc				#A[JCu

#A[JCu쐬
makearc:
	nnsarc -i -c -l -n land_data.narc -S $(LAND_ARCLIST) > arc_result.txt
	mv -f land_data.narc $(TARGET_ARC)
	touch ../../system/builddate.c

#----------------------------------------------------------------------------
#----------------------------------------------------------------------------

#echo $(foreach types,$(FILETYPES),$(wildcard *$(types)*))

#----------------------------------------------------------------------------
# 	n`֘Af[^_~[쐬R}h	
#----------------------------------------------------------------------------
ground:
	$(MAKE) csvconvert			#map_list.xlscsvRo[g
	$(MAKE) grd_all
grd_all:
	ruby $(MK_GROUNDTOOL) $(DATAMAPDMY) $(FLDMAPDATADIR)/ $(DATAMAPSRC) $(DATAMAPFLST)

cvs_grd_add:
	ruby cvs_maplist.rb $(DATAMAPFLST) $(FLDMAPEDATADIR)/ $(DATAMAPSRC) log.txt 1 

cvs_grd_del:
	ruby cvs_maplist.rb $(DATAMAPFLST) $(FLDMAPEDATADIR)/ $(DATAMAPSRC) log.txt 2

#^[Qbgxlscsvt@Cɕϊ
old_csvconvert:
	$(CSVCVTR) -o old_$(FLDCSV) -p 1 -s csv old_$(XLS_DATA)
	$(CSVCVTR) -o old_$(ROOMCSV) -p 2 -s csv old_$(XLS_DATA)
	$(CSVCVTR) -o old_$(DUNCSV) -p 3 -s csv old_$(XLS_DATA)
	$(CSVCVTR) -o old_$(UNDERCSV) -p 4 -s csv old_$(XLS_DATA)

#^[Qbgxlscsvt@Cɕϊ
csvconvert:
	$(CSVCVTR) -o $(FLDCSV) -p 1 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(ROOMCSV) -p 2 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(DUNCSV) -p 3 -s csv $(XLS_DATA)
	$(CSVCVTR) -o $(UNDERCSV) -p 4 -s csv $(XLS_DATA)

