#! make -f
#----------------------------------------------------------------------------
# Project:  |PbgX^[@_Chp[
# File:     Makefile
#
# Copyright 2005 GameFreak.inc  All rights reserved.
#
#----------------------------------------------------------------------------

#export	NITRO_DEBUG=TRUE
export MAKEROM_ROMSPEED=1TROM
#export MAKEROM_ROMSPEED=MROM

# NITROSDK3.0t̂̃vRpCǂݍ܂Ȃ
NITRO_NO_STD_PCHDR = True

################################################################################
#
#
#		}NXCb`̒`Ȃ
#
#
################################################################################
#----------------------------------------------------------------------------
#	쐬p`@iqnlo̍ۂ͗Lɂsrl쐬j
#----------------------------------------------------------------------------
#NITRO_FINALROM = yes

#----------------------------------------------------------------------------
#	o[W`
#----------------------------------------------------------------------------
VER_FILE	=	version

include	$(VER_FILE)

#(PM_DEBUG == yes)̂Ƃ̂݃fobOo[W
ifeq	($(PM_DEBUG),yes)
MACRO_FLAGS	+=	-DPM_DEBUG
endif

ifdef	PM_VERSION
MACRO_FLAGS	+=	-DPM_VERSION=$(PM_VERSION)
endif

ifdef	PM_LANG
MACRO_FLAGS	+=	-DPM_LANG=$(PM_LANG)
endif

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2006/09/07
# version t@C PG5_WIFIRELEASE = yes 錾ĂA
# Wi-Fi̐ڑeXgT[opubNT[oɐ؂ւ

ifeq	($(PG5_WIFIRELEASE),yes)
MACRO_FLAGS	+=	-DPG5_WIFIRELEASE
endif

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

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2006/09/08
# version t@C PG5_MARUMIX = yes 錾ĂA
# Q[LRMarumi-XɃf[^]

ifeq	($(PG5_MARUMIX),yes)
MACRO_FLAGS	+=	-DPG5_MARUMIX
endif

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

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/02/13
# PG5_TRIAL `ĂǍł make 

ifdef	PG5_TRIAL
MACRO_FLAGS	+=	-DPG5_TRIAL=$(PG5_TRIAL)
VERSION_DIR					= trial
OUT_VERSION_DIR				= tri
SCRIPTFILE					= scr_seq_trial.narc
EVENTFILE					= zone_event_trial.narc
FIELDMAPFILE				= land_data_trial.narc
else
SCRIPTFILE					= scr_seq_release.narc
EVENTFILE					= zone_event_release.narc
FIELDMAPFILE				= land_data_release.narc
endif

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

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/02/28
# PG5_UKENGLISH `ĂAESRB Notice \Ȃ悤
# localize_spec_mark(LANG_ALL) imatake 2007/04/10
# A[JCu̒uꏊ resouce Ɉړ

OPDEMO_DIR_ENG				= src/resource/eng/opening_demo

ifdef	PG5_UKENGLISH
OPDEMO_NARC_ENG				= $(OPDEMO_DIR_ENG)/uk/op_demo.narc
else
OPDEMO_NARC_ENG				= $(OPDEMO_DIR_ENG)/us/op_demo.narc
endif

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

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_KOREA) imatake 2007/09/03
# ؍łłAIɎw肷Ώ]łƂ̃Z[uf[^݊ێ悤

ifeq	($(PG5_SAVEDATACOMPATIBLE),TRUE)
MACRO_FLAGS	+=	-DPG5_SAVEDATACOMPATIBLE=TRUE
else
MACRO_FLAGS	+=	-DPG5_SAVEDATACOMPATIBLE=FALSE
endif

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

#----------------------------------------------------------------------------
# LIBSYSCALL: Provided to every product by NINTENDO
#	VXeCu̒ǉ
#----------------------------------------------------------------------------

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2006/10/11
# Eo[Wlibsyscallƃwb_؂芷悤ɕύX
# localize_spec_mark(LANG_ALL) imatake 2007/02/13
# Eo[WŃ^CgIPLoi[؂芷悤ɕύX
# localize_spec_mark(LANG_ALL) imatake 2007/02/14
# TCYƃo[W̐؂芷ɑΉ
# localize_spec_mark(LANG_KOREA) imatake 2007/08/02
# ؍ROM̍쐬ɑΉ
# localize_spec_mark(LANG_KOREA) imatake 2007/11/09
# ؍512MiVer. 0`ĵ݂

ifeq	($(PM_VERSION),VERSION_DIAMOND)
VERSION_DIR					?= diamond
OUT_VERSION_DIR				?= dia
INITIAL_CODE_VERSION		= D
else
VERSION_DIR					?= pearl
OUT_VERSION_DIR				?= pea
INITIAL_CODE_VERSION		= P
endif

ifeq	($(PM_LANG),LANG_ENGLISH)
INITIAL_CODE_LANGUAGE		= E
LANG_DIR	= eng
FOR_KOREA	= FALSE
else
ifeq	($(PM_LANG),LANG_FRANCE)
INITIAL_CODE_LANGUAGE		= F
LANG_DIR	= fra
FOR_KOREA	= FALSE
else
ifeq	($(PM_LANG),LANG_GERMANY)
INITIAL_CODE_LANGUAGE		= D
LANG_DIR	= ger
FOR_KOREA	= FALSE
else
ifeq	($(PM_LANG),LANG_ITALY)
INITIAL_CODE_LANGUAGE		= I
LANG_DIR	= ita
FOR_KOREA	= FALSE
else
ifeq	($(PM_LANG),LANG_SPAIN)
INITIAL_CODE_LANGUAGE		= S
LANG_DIR	= spa
FOR_KOREA	= FALSE
else
ifeq	($(PM_LANG),LANG_KOREA)
INITIAL_CODE_LANGUAGE		= K
LANG_DIR	= kor
FOR_KOREA	= TRUE
ROMSIZE		= 512M
ROMVERSION	= 0
endif
endif
endif
endif
endif
endif

OUT_DIR		= $(OUT_VERSION_DIR)/$(LANG_DIR)

ifdef PG5_TRIAL
TITLENAME			= '"PKMN DP DEMO"'
INITIAL_CODE		= Y23$(INITIAL_CODE_LANGUAGE)
else
TITLENAME			= '"POKEMON $(INITIAL_CODE_VERSION)"'
INITIAL_CODE		= A$(INITIAL_CODE_VERSION)A$(INITIAL_CODE_LANGUAGE)
endif

INITIAL_CODE_LOWER	= $(shell echo $(INITIAL_CODE) | tr -s [:upper:] [:lower:])

LIBSYSCALL			= resource/$(INITIAL_CODE)/libsyscall.a
ROMHEADER_TEMPLATE	= resource/$(INITIAL_CODE)/rom_header_$(INITIAL_CODE_LOWER).template.sbin
BANNERFILE			= resource/$(INITIAL_CODE)/pokemon_DS_$(VERSION_DIR).bnr

ifdef PG5_TRIAL
ROMVERSION			= 0
else
ifdef PG5_PRELOTCHECK
ROMVERSION			= 0xE0
else
ifeq	($(PM_LANG),LANG_KOREA)
ROMVERSION			= 0
endif
endif
endif

ifdef PG5_1GROM
ROMSIZE				?= 1G
ROMVERSION			?= 0
else
ROMSIZE				?= 512M
ROMVERSION			?= 5
endif

MAKEROM_FLAGS	+=	-DTITLENAME=$(TITLENAME)
MAKEROM_FLAGS	+=	-DROMSIZE=$(ROMSIZE)
MAKEROM_FLAGS	+=	-DROMVERSION=$(ROMVERSION)
MAKEROM_FLAGS	+=	-DROMHEADER_TEMPLATE=$(ROMHEADER_TEMPLATE)
MAKEROM_FLAGS	+=	-DBANNERFILE=$(BANNERFILE)
MAKEROM_FLAGS	+=	-DFOR_KOREA=$(FOR_KOREA)

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

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/03/13
# Q[CVS̃^OiCӂ̕j𖄂ߍގdg݂
# localize_spec_mark(LANG_ALL) imatake 2007/03/20
# CVS̃^ONOE̊Ǘo[WɕϊĖߍނ悤ɕύX

PG5_BUILDTAG	?= NOTAG
PG5_BUILDTAG_	= $(shell echo $(PG5_BUILDTAG) | sed -e "s/..-\([0-9]\{6\}\)/20\1/")

ifeq	($(PM_DEBUG),yes)
MACRO_FLAGS		+=	-DPG5_BUILDTAG=\"$(PG5_BUILDTAG_)_$(INITIAL_CODE)_D\"
else
MACRO_FLAGS		+=	-DPG5_BUILDTAG=\"$(PG5_BUILDTAG_)_$(INITIAL_CODE)_R\"
endif

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

#----------------------------------------------------------------------------
#	CN[ht@C̃fBNg̒ǉ
#----------------------------------------------------------------------------
LINCLUDES      = ./include/gflib \
				 ./include/library

#----------------------------------------------------------------------------
#	CufBNg̒ǉ
#----------------------------------------------------------------------------
NITRODWC_LIB_MODULES_   = bm account
NITRODWC_LIB_GSMODULES_ = 

LDEPENDS_NEF = $(NITRODWC_LIB_DEPENDS)

LLIBRARY_DIRS	= ./src/library/spl/$(NITRO_BUILDTYPE)

#CNj[R|[lĝ߂̃Cuǉ by Mori 2005.7.27
LLIBRARIES		= ./libjn_spl.a libwvr$(CODEGEN).a
#LINCLUDES      = ../gflib/include
#LLIBRARY_DIRS  = ../gflib/lib/$(NITRO_BUILDTYPE)
#LLIBRARIES     = libgf.a

# CVCryptCuǉ by mituhara 2006.07.05
LLIBRARY_DIRS	+= ./src/library/crypto/$(NITRO_BUILDTYPE)
LLIBRARIES	+= ./libcrypto.a

#----------------------------------------------------------------------------
#	XybNt@Cǂݍ݂̂ߒǉ
#----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/02/09
# rsft@Cɓ
ROM_SPEC= pm_dp_ose.rsf
# -----------------------------------------------------------------------------

#----------------------------------------------------------------------------
#		lsft@Cǂݍ݂̂ߒǉ by matsuda
#----------------------------------------------------------------------------
LCFILE_SPEC	=	main.lsf

MAKELCF_FLAGS	+=	-DADDRESS_MAIN=0x02000000

#ifeq	($(NITRO_PLATFORM),TEG)
#MAKELCF_FLAGS	+=	-DADDRESS_MAIN=0x02004000
#else
#MAKELCF_FLAGS	+=	-DADDRESS_MAIN=0x02000000
#endif



#------------------------------------------------------#
# CNj[R|[lgǉ by Mori 2005.7.27
# VRAMɖCuzuR|[lg` #
MY_COMPONENT_NAME	= ichneumon
MAKEROM_ARM7	= $(NITRO_COMPONENTSDIR)/$(MY_COMPONENT_NAME)/$(NITRO_BUILDTYPE_ARM7)/$(MY_COMPONENT_NAME)_sub$(TS_VERSION).nef
#------------------------------------------------------#

#----------------------------------------------------------------------------
#	^[Qbgt@Cݒ
#----------------------------------------------------------------------------
#TARGET_NEF	=	main.nef	TARGET_BIN.srlw肷.nefꏏɐ
TARGET_BIN	=	main.srl


#----------------------------------------------------------------------------
#	f[^ETufBNgւ̃pXw
#----------------------------------------------------------------------------
DATABIN			= src/data/
DATASRC			= $(DATABIN)rsc

MSGDATA_DIR		= src/msgdata
MSGDATA_FILENAME	= msg.narc
MSGDATA_FILEPATH	= $(MSGDATA_DIR)/$(MSGDATA_FILENAME)
DATASCENARIO		= $(MSGDATA_DIR)/scenario/
MSGDATA_LANG_PATH	= $(MSGDATA_DIR)/$(LANG_DIR)/$(MSGDATA_FILENAME)


SOUNDDIR		= $(DATABIN)sound/

POKEGRADIR		= src/poketool/pokegra/
TRGRADIR		= src/poketool/trgra/
#o[Wɂăp[\if[^ύX
ifeq	($(PM_VERSION),VERSION_DIAMOND)
PERSONALDIR		= src/poketool/personal/
else
PERSONALDIR		= src/poketool/personal_pearl/
endif
EVOWOTDIR		= src/poketool/personal/
TRAINERDIR		= src/poketool/trainer/
TRMSGDIR		= src/poketool/trmsg/
EFFECTDATADIR	= src/wazaeffect/effectdata/
SAMPLEDATADIR	= src/wazaeffect/pt_debug/
BATTLEGRADIR	= src/battle/graphic/
WAZAEFFDIR		= src/wazaeffect/
WAZASEQDIR		= src/battle/skill/
WAZATBLDIR		= src/poketool/waza/
SCRIPTDIR		= src/fielddata/script/
EVENTDIR		= src/fielddata/eventdata/
ENCOUNTDIR		= src/fielddata/encountdata/
MAPMATRIXDIR	= src/fielddata/mapmatrix/
AREADATADIR		= src/fielddata/areadata/
AREABUILDMDLDIR	= src/fielddata/areadata/area_build_model/
AREAMAPTEXDIR	= src/fielddata/areadata/area_map_tex/
AREAMOVEMDLDIR	= src/fielddata/areadata/area_move_model/
FIELDMAPDIR		= src/fielddata/land_data/
BUILDMODELDIR	= src/fielddata/build_model/
GRAPHICDIR		= src/graphic/
ITEMDATADIR		= src/itemtool/itemdata/
POKEICONGRADIR	= src/poketool/icongra/
POKEFOOTGRADIR	= src/poketool/pokefoot/
WAZAEFFCLACTDIR	= src/wazaeffect/effectclact/
WAZAEFFCLACTRDIR= src/wazaeffect/effectclact/resource/
CONTESTGRADIR	= src/contest/graphic/
CONTESTDATADIR	= src/contest/data/
CLACTUTILDIR	= src/data/clact_util/
PARTICLEDATADIR	= src/particledata/
ZUKANDATADIR 	= src/application/zukanlist/zkn_data/
MMODELDIR		= src/data/mmodel/
WIFIEARTHDIR	= src/application/wifi_earth/
POKEANIMEDIR	= src/pokeanime/
CBDATADIR	 	= src/application/custom_ball/data/
MMLISTDIR		= src/fielddata/mm_list/
DPTITLEDIR 		= src/demo/title/
TRAIDIR 		= src/battle/tr_ai/
ARCDIR			= src/arc/
POKEZUKANDIR	= src/poketool/
POKEANMTBLDIR	= src/poketool/pokeanm/
ZONEDATADIR		= src/fielddata/maptable/
FLDTRADEDIR		= src/fielddata/pokemon_trade/
EGGDATADIR		= src/demo/egg/data/
EGGPTDIR		= src/demo/egg/data/particle/
SHINKAPTDIR		= src/demo/shinka/data/particle/
INTRODIR		= src/demo/intro/
SYOUJYOUDIR		= src/demo/syoujyou/
BTOWERDIR		= src/battle/b_tower/

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/01/22
# ꂲƂɐ؂芷Kv郊\[Xt@CuƂ

ifeq	($(PM_LANG),LANG_ENGLISH)
RESOURCEDIR	= src/resource/eng/
else
ifeq	($(PM_LANG),LANG_FRANCE)
RESOURCEDIR	= src/resource/fra/
else
ifeq	($(PM_LANG),LANG_GERMANY)
RESOURCEDIR	= src/resource/ger/
else
ifeq	($(PM_LANG),LANG_ITALY)
RESOURCEDIR	= src/resource/ita/
else
ifeq	($(PM_LANG),LANG_SPAIN)
RESOURCEDIR	= src/resource/spa/
else
ifeq	($(PM_LANG),LANG_KOREA)
RESOURCEDIR	= src/resource/kor/
endif
endif
endif
endif
endif
endif

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

#----------------------------------------------------------------------------
#	Ro[gΏۂɂȂMayaf[^̎w
#----------------------------------------------------------------------------
include	make_g3_files

G3D_NSBMD = $(G3D_IMD:.imd=.nsbmd)
G3D_NSBMT = $(G3D_IMT:.imd=.nsbmt)
#G3D_NSBMTG = $(G3D_GROUND:.imd=.nsbmt)
G3D_NSBTX = $(G3D_TX_IMD:.imd=.nsbtx)
G3D_NSBCA = $(G3D_ICA:.ica=.nsbca)
G3D_NSBVA = $(G3D_IVA:.iva=.nsbva)
G3D_NSBMA = $(G3D_IMA:.ima=.nsbma)
G3D_NSBTP = $(G3D_ITP:.itp=.nsbtp)
G3D_NSBTA = $(G3D_ITA:.ita=.nsbta)

G3D_DATA = $(G3D_NSBMD) $(G3D_NSBTX) $(G3D_NSBCA) $(G3D_NSBVA) $(G3D_NSBMA) $(G3D_NSBTP) $(G3D_NSBTA) $(G3D_NSBMT) #$(G3D_NSBMTG)

G3D_TARGETS	=$(subst rsc/,,$(G3D_DATA))


#----------------------------------------------------------------------------
#	makeTufBNgw
#
#	SUBDIRS̒`sĂ
#----------------------------------------------------------------------------
include sub_make_files


#----------------------------------------------------------------------------
#	RpCΏۃ\[Xt@Cw
#
#	SRCSSRCS_OVERLAYFILES̒`sĂ
#----------------------------------------------------------------------------
include	make_prog_files
include overlay_files

#----------------------------------------------------------------------------
#	Ɋ܂܂t@C̎w
#----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/01/22
# ꂲƂɈꕔ\[X؂芷悤ɕύX
# localize_spec_mark(LANG_ALL) imatake 2007/02/08
# ̌ł͈ꕔ\[X؂芷悤ɕύX

FILE_TREE	= $(DATABIN)*.* \
			  $(SOUNDDIR)sound_data.sdat \
			  $(MSGDATA_FILEPATH) \
			  $(DATASCENARIO)*.narc \
			  $(POKEGRADIR)*.narc \
			  $(TRGRADIR)*.narc \
			  $(PERSONALDIR)personal.narc \
			  $(EVOWOTDIR)evo.narc \
			  $(EVOWOTDIR)growtbl.narc \
			  $(EVOWOTDIR)pms.narc \
			  $(EVOWOTDIR)wotbl.narc \
			  $(TRAINERDIR)*.narc \
			  $(TRMSGDIR)*.narc \
			  $(BATTLEGRADIR)*.narc \
			  $(WAZAEFFDIR)we.arc \
			  $(WAZAEFFDIR)we_sub.narc \
			  $(WAZASEQDIR)*.narc \
			  $(WAZAEFFCLACTDIR)*.narc \
			  $(WAZATBLDIR)*.narc \
			  $(SCRIPTDIR)$(SCRIPTFILE) \
			  $(GRAPHICDIR)*.narc \
			  $(ITEMDATADIR)*.narc \
			  $(POKEICONGRADIR)*.narc \
			  $(POKEFOOTGRADIR)pokefoot.narc \
			  $(MMODELDIR)mmodel.narc \
			  $(MMODELDIR)fldeff.narc \
			  $(EFFECTDATADIR)*.narc \
			  $(SAMPLEDATADIR)*.narc \
			  $(EVENTDIR)$(EVENTFILE) \
			  $(ENCOUNTDIR)d_enc_data.narc \
			  $(ENCOUNTDIR)p_enc_data.narc \
			  $(BUILDMODELDIR)*.narc \
			  $(BUILDMODELDIR)*.dat \
			  $(MAPMATRIXDIR)*.narc \
			  $(AREADATADIR)*.narc \
			  $(AREABUILDMDLDIR)*.narc \
			  $(AREAMAPTEXDIR)*.narc \
			  $(AREAMOVEMDLDIR)*.narc \
			  $(FIELDMAPDIR)$(FIELDMAPFILE) \
			  $(CONTESTDATADIR)*.narc \
			  $(PARTICLEDATADIR)*.narc \
			  $(ZUKANDATADIR)zukan_data.narc \
			  $(WIFIEARTHDIR)*.narc \
			  $(CBDATADIR)cb_data.narc \
			  $(EGGDATADIR)egg_data.narc \
			  $(EGGPTDIR)egg_demo_particle.narc \
			  $(MMLISTDIR)move_model_list.narc \
			  $(POKEANIMEDIR)poke_anm.narc \
			  $(TRAIDIR)tr_ai_seq.narc \
			  $(ARCDIR)*.narc \
			  $(ZONEDATADIR)mapname.bin \
			  $(POKEZUKANDIR)pokezukan.narc \
			  $(POKEZUKANDIR)shinzukan.narc \
			  $(POKEANMTBLDIR)pokeanm.narc \
			  $(SHINKAPTDIR)shinka_demo_particle.narc \
			  $(INTRODIR)*.narc \
			  $(SYOUJYOUDIR)syoujyou.narc \
			  $(BTOWERDIR)*.narc \
			  $(ZUKANDATADIR)zukan_enc_diamond.narc \
			  $(ZUKANDATADIR)zukan_enc_pearl.narc \
			  $(RESOURCEDIR)*/*.narc

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


#t@CVXẽ[gfBNgw
MAKEROM_ROMROOT  = ./src/

MAKEROM_ROMFILES = $(subst src/,,$(FILE_TREE))

#----------------------------------------------------------------------------
#	make cleanŏt@Cǉ
#----------------------------------------------------------------------------
LDIRT_CLEAN	= $(G3D_TARGETS) $(MSGDATA_FILEPATH) \
			  $(wildcard $(DATABIN)*.nsbmt) $(wildcard $(DATABIN)*.nsbmd) \
			  $(wildcard $(DATABIN)*.nsbta) $(wildcard $(DATABIN)*.nsbtp) \
			  $(wildcard $(DATABIN)*.nsbtx) $(wildcard $(DATABIN)*.nsbma)


#----------------------------------------------------------------------------
#	c[ւ̃pXw
#----------------------------------------------------------------------------

ifdef	NITRO_DEBUG
MY_BUILD_DIR		= Deb/$(OUT_DIR)

else
ifdef	NITRO_FINALROM
MY_BUILD_DIR		= Rom/$(OUT_DIR)

else #	NITRO_RELEASE (default)
MY_BUILD_DIR		= Rel/$(OUT_DIR)

endif
endif

OBJDIR			= ./obj/$(MY_BUILD_DIR)
BINDIR			= ./bin/$(MY_BUILD_DIR)
LIBDIR			= ./lib/$(MY_BUILD_DIR)
DEPENDDIR		= ./depend/$(MY_BUILD_DIR)

#----------------------------------------------------------------------------
#	ʕϐ`
#----------------------------------------------------------------------------
include commondefs.GF

#----------------------------------------------------------------------------
#	RpC[`
#----------------------------------------------------------------------------
include modulerules.GF


#----------------------------------------------------------------------------
#	WiFi`
#----------------------------------------------------------------------------
#include	$(NITRODWC_ROOT)/build/buildtools/commondefs
#include	$(NITRODWC_ROOT)/build/buildtools/modulerules
include	$(NITROVCT_ROOT)/build/buildtools/commondefs
include	$(NITROVCT_ROOT)/build/buildtools/modulerules

################################################################################
#
#
#		RpC[`
#
#
################################################################################

# -----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2007/02/28
# PG5_UKENGLISH `ĂAESRB Notice \Ȃ悤
# localize_spec_mark(LANG_ALL) imatake 2007/04/10
# A[JCu̒uꏊ resouce Ɉړ
# localize_spec_mark(LANG_KOREA) imatake 2007/09/03
# ؍łłAIɎw肷Ώ]łƂ̃Z[uf[^݊ێ悤

do-build: precompile binData msgData msgCopy opdemoCopy zknCopy eooCopy fontCopy savedataCompatible $(TARGETS)

opdemoCopy:
	cp -f $(OPDEMO_NARC_ENG) $(OPDEMO_DIR_ENG)/op_demo.narc

fontCopy:
	cp -f $(RESOURCEDIR)font/shelter/font.narc $(GRAPHICDIR)/font.narc

savedataCompatible:
	touch src/savedata/saveload_system.c

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

binData: $(G3D_TARGETS)


#----------------------------------------------------------------------------
# precompile
#----------------------------------------------------------------------------
PRECOMPILE_SRC		 =	include/precompile/precompile.pch
PRECOMPILE_CC_MCH	 =	$(OBJDIR)/precompile_cc.mch
PRECOMPILE_CCFLAGS	:=	$(CCFLAGS)
CCFLAGS			+=	-prefix $(PRECOMPILE_CC_MCH)
ifeq	($(USERNAME),ohno)
CCFLAGS			+=	-msgstyle gcc
endif
#DEPENDDIR		 =	$(OBJDIR)

precompile: $(PRECOMPILE_CC_MCH)

#o[W`t@CXVꂽvRpCwb_XV
$(PRECOMPILE_CC_MCH):	$(VER_FILE)

-include $(PRECOMPILE_CC_MCH).d
$(PRECOMPILE_CC_MCH):%_cc.mch:
		$(CC) $(PRECOMPILE_CCFLAGS) $(INCLUDES) $(PRECOMPILE_SRC) -MD -precompile $(PRECOMPILE_CC_MCH)
		$(MOVE_SRC_DEPEND)
		$(MV) $(DEPENDDIR)/$(*F).d $@.d
$(OBJS):  $(PRECOMPILE_CC_MCH)

CCFLAGS +=	-thumb
#----------------------------------------------------------------------------
# msgdata
#----------------------------------------------------------------------------
MSG_NAIX_COPYSCRIPT	= convert/message/naixcopy.pl
MSG_CONVERTDATA_DIR	= convert/message/data/$(LANG_DIR)

MSG_HEADERFILE_DIR	= include/msgdata/

msgCopy:
	@cp $(MSGDATA_LANG_PATH) $(MSGDATA_DIR)

zknCopy:
	@cp $(ZUKANDATADIR)$(LANG_DIR)/zukan_data.narc $(ZUKANDATADIR)

eooCopy:
	@cp $(RESOURCEDIR)downloader/eoo.dat $(DATABIN)

msgData: $(MSGDATA_LANG_PATH)

$(MSGDATA_LANG_PATH): $(wildcard $(MSG_CONVERTDATA_DIR)/*.dat)
	nnsarc -c -l -n -i $(MSGDATA_FILENAME) $(MSG_CONVERTDATA_DIR)/*.dat
	$(MV) $(MSGDATA_FILENAME) $(MSGDATA_LANG_PATH)
	perl $(MSG_NAIX_COPYSCRIPT)  msg.naix $(MSG_HEADERFILE_DIR)msg.naix
	-$(RM) msg.naix

#----------------------------------------------------------------------------
#	makefileCN[ht@CXVꂽmakelcf삷悤ɂ
#----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2006/09/08
# makelcf̏ default.lsf ̍XVǉ
$(MAKEFILE):	commondefs.GF modulerules.GF make_prog_files make_g3_files main.lsf overlay_files overlaytool.rb default.lsf
	-$(RM) $(BINDIR)/$(LCFILE_SPEC:.lsf=.*)
	ruby overlaytool.rb
	touch $(MAKEFILE)

#----------------------------------------------------------------------------
#	\[X̗ނPłbuilddate.cVꍇbuilddate.ctouch&RpC
#----------------------------------------------------------------------------
# localize_spec_mark(LANG_ALL) imatake 2006/09/08
# gɔzu\[X̍XVf悤ɕύX
./src/system/builddate.c: $(SRCS) $(SRCS_OVERLAY) $(SRCS_AUTOLOAD)
	touch ./src/system/builddate.c


#----------------------------------------------------------------------------
#	ZAN^[wb_[̃A[JCut@CID
#	arc_tool.dat̃A[JCut@CIDꂳĂ邩`FbN
#	perls
#----------------------------------------------------------------------------
#clact_arcfile_check:
#	perl src/data/clact_util/clact_check.pl

#----------------------------------------------------------------------------
#	RpC
#
#	builddate.ctouchăRpCĂ
#----------------------------------------------------------------------------
force:
	touch ./src/system/builddate.c
	$(MAKE)

#----------------------------------------------------------------------------
#	\[X݂̂̃RpC
#----------------------------------------------------------------------------
source:
	-$(RM) $(GDIRT_CLEAN)
	-$(RM) $(DEPENDDIR)/*.d
	$(MAKE)

#----------------------------------------------------------------------------
#	MakefileǊ̃fOf[^RpC
#----------------------------------------------------------------------------
model:
	-$(RM)	$(G3D_TARGETS) \
		  	$(wildcard $(DATABIN)*.nsbmt) $(wildcard $(DATABIN)*.nsbmd) \
			$(wildcard $(DATABIN)*.nsbta) $(wildcard $(DATABIN)*.nsbtp) \
			$(wildcard $(DATABIN)*.nsbtx) $(wildcard $(DATABIN)*.nsbma)
	-$(RM)	$(wildcard $(FIELDMAPDIR)/land_nsbmt/*.nsbmt) \
			$(FIELDMAPDIR)land_data.narc
	$(MAKE) model -C $(BUILDMODELDIR)

#----------------------------------------------------------------------------
#	n`f[^̃fOf[^RpC
#----------------------------------------------------------------------------
land:
	-$(RM)	$(wildcard $(FIELDMAPDIR)/land_nsbmt/*.nsbmt) \
			$(FIELDMAPDIR)land_data.narc
	$(MAKE) imdconv -C $(FIELDMAPDIR)
	$(MAKE) force

landall:
	-$(RM)	$(wildcard $(FIELDMAPDIR)/land_nsbmt/*.nsbmt) \
			$(FIELDMAPDIR)land_data.narc
	-$(MAKE) imdconv -C $(FIELDMAPDIR)
	-$(MAKE) ctex

#----------------------------------------------------------------------------
#	Buildf݂̂̃RpC
#----------------------------------------------------------------------------
#src/fielddata/build_model/make all
bmall:
	$(MAKE) -C $(BUILDMODELDIR) clean all
	$(MAKE) force

#src/fielddata/build_model/make model 
bimd:
	$(MAKE) model -C $(BUILDMODELDIR)
	$(MAKE) force

#src/fielddata/build_model/make 
bm:
	$(MAKE) -C $(BUILDMODELDIR)
	$(MAKE) force

#src/fielddata/areadata/area_build_model/make all
abmall:
	$(MAKE) -C $(AREABUILDMDLDIR) clean all
	$(MAKE) force

#src/fielddata/areadata/area_build_model/make
abm:
	$(MAKE) -C $(AREABUILDMDLDIR)
	$(MAKE) force

#src/data/clact_util/make
clact:
	$(MAKE) -C $(CLACTUTILDIR)
	$(MAKE) force

#src/data/clact_util/make clean
clact_clean:
	$(MAKE) -C $(CLACTUTILDIR) clean

#----------------------------------------------------------------------------
# 	n``bveNX`RpC	
#----------------------------------------------------------------------------
ctex:
	$(MAKE) -C $(AREAMAPTEXDIR) clean all
	$(MAKE) force

#----------------------------------------------------------------------------
#	oCir
#----------------------------------------------------------------------------
diff:
	cp ./bin/ARM9-TS/Release/main.srl ./bin/ARM9-TS/Release/old.srl
	$(MAKE) do-build
	$(MAKE) onlydiff

onlydiff:
	fc /b .\\bin\\ARM9-TS\\Release\\main.srl .\\bin\\ARM9-TS\\Release\\old.srl

#ꎞR}h04/04 iwasawa ŏ܂
del_land_list:
	$(RM) $(FIELDMAPDIR)land_list
