#!/usr/bin/env omake
#----------------------------------------------------------------------------
#
#    \[XRo[g OMakefile@}ӂɕKvȃf[^𐶐Ro[g
#
#  personalgpĂ̂ŁApersonalmake邱
#  gmm𐶐Ă̂ŁAmessagemake邱#
#
#----------------------------------------------------------------------------


#----------------------------------------------------------------------------
#      [U[`
#       CONVERT̓etrueɂ[U[Lq
#       @̃t@C clytcmdlύXlB
#       jtakahashi_tomoya hoge hoge2
#----------------------------------------------------------------------------
USERS[] =  nagihashi_toru


#----------------------------------------------------------------------------
#      ^[Qbgt@C
#       Ƀ^[Qbgt@CLq@
#       jlyt_test_res
#        lyt_test_res.garc lyt_test_res.gaix܂B
#----------------------------------------------------------------------------
targetname_data = zukan_data
gmmname = zkn_height.gmm zkn_xeight.gmm zkn_comment_00.gmm zkn_comment_01.gmm zkn_type.gmm zkn_form.gmm
targetname_area_x  = zukan_area_x
targetname_area_y  = zukan_area_y

#------------------------------------------------------------------------------
#gmm->mstxtϊc[
#------------------------------------------------------------------------------
UPDATEWITHGMM   = ../../tools/message/UpdateWithGmm.bat
ZNK_COMMENT_00_MSTXT  = src/zkn_comment_00.mstxt
ZNK_COMMENT_01_MSTXT  = src/zkn_comment_01.mstxt
ZNK_HEIGHT_MSTXT  = src/zkn_height.mstxt
ZNK_WEIGHT_MSTXT  = src/zkn_xeight.mstxt
ZNK_TYPE_MSTXT  = src/zkn_type.mstxt
ZNK_FORM_MSTXT  = src/zkn_form.mstxt
MSPROJDIR  = ../message/msproj/

#------------------------------------------------------------------------------
#ǂݍރt@C
#------------------------------------------------------------------------------
input_personal            = personal_xy.csv
input_zukan               = zukan.csv
input_encount             = $(getenv PROJECT_ROOT)/resource/field/encount_data/encount_xy.csv
input_monsno              = $(getenv PROJECT_ROOT)/tools/hash/monsno_hash.rb
input_area_list_x         = zkn_area_x_file_list.lst
input_area_list_y         = zkn_area_y_file_list.lst
input_data_sort_aiueo_idx = zkn_sort_aiueo_idx.h
input_townmap             = $(getenv PROJECT_ROOT)/resource/townmap/xls/townmapdata.xls
input_zonetable           = $(getenv PROJECT_ROOT)/resource/field/zonedata/zonetable.xls
input_zoned               = $(getenv PROJECT_ROOT)/resource/field/zonedata/zone_id.h

# ˑt@C
sources_data        = $(input_personal) $(input_zukan)
sources_area_x      = $(input_encount) $(input_monsno)
sources_area_y      = $(input_encount) $(input_monsno)
source_townmap_data = ../townmap/xls/townmapdata.xls

#----------------------------------------------------------------------------
#      ʕRs[tH_
#----------------------------------------------------------------------------
#A[JCut@C
TARGETDIR = $(getenv PROJECT_ROOT)/arc
GMMDIR    = $(getenv PROJECT_ROOT)/resource/message/src

#----------------------------------------------------------------------------
#      macro
#       ̃}NǂݍނƂŁACONVERTUSERȂǂ`B
#----------------------------------------------------------------------------
include $(getenv PROJECT_ROOT)/resource/macro_define

.PHONY: build clean

#------------------------------------------------------------------------------
#  do-build [
#------------------------------------------------------------------------------
build: $(TARGETDIR)/$(targetname_data).garc $(TARGETDIR)/$(targetname_area_x).garc $(TARGETDIR)/$(targetname_area_y).garc $(MSPROJDIR)$(ZNK_COMMENT_00_MSTXT) $(MSPROJDIR)$(ZNK_COMMENT_01_MSTXT) $(MSPROJDIR)$(ZNK_HEIGHT_MSTXT) $(MSPROJDIR)$(ZNK_WEIGHT_MSTXT) $(MSPROJDIR)$(ZNK_TYPE_MSTXT) $(MSPROJDIR)$(ZNK_FORM_MSTXT)

# garc ̃Rs[s
$(TARGETDIR)/$(targetname_data).garc: $(targetname_data).garc
  cp $(targetname_data).garc $(TARGETDIR)
  cp $(targetname_data).gaix $(TARGETDIR)

$(TARGETDIR)/$(targetname_area_x).garc: $(targetname_area_x).garc
  cp $(targetname_area_x).garc $(TARGETDIR)
  cp $(targetname_area_x).gaix $(TARGETDIR)

$(TARGETDIR)/$(targetname_area_y).garc: $(targetname_area_y).garc
  cp $(targetname_area_y).garc $(TARGETDIR)
  cp $(targetname_area_y).gaix $(TARGETDIR)

if $(equal $(CONVERTUSER), true)
  $(targetname_data).garc: $(sources_data) zkn_data_file_list.lst
    perl zkn_sort_personal_make.pl $(input_personal)
    perl zkn_hw_make.pl $(input_personal)
    perl zkn_comment_make.pl $(input_personal) $(input_zukan) wb
    $(GFARC) $(targetname_data) --script=zkn_data_file_list.lst

  $(gmmname): $(sources_data)
    perl zkn_sort_personal_make.pl $(input_personal)
    perl zkn_hw_make.pl $(input_personal) zkn_data_file_list.lst
    perl zkn_comment_make.pl $(input_personal) $(input_zukan) wb
    $(GFARC) $(targetname_data) --script=zkn_data_file_list.lst

  $(targetname_area_x).garc: $(sources_area_x) $(source_townmap_data) zkn_encount_make.pl
    perl zkn_encount_make.pl $(input_encount) $(input_monsno) w
    $(GFARC) $(targetname_area_x) $(input_area_list_x)

  $(targetname_area_y).garc: $(sources_area_y) $(source_townmap_data) zkn_encount_make.pl
    perl zkn_encount_make.pl $(input_encount) $(input_monsno) b
    $(GFARC) $(targetname_area_y) $(input_area_list_y)

  $(MSPROJDIR)$(ZNK_COMMENT_00_MSTXT) : zkn_comment_00.gmm
    $(UPDATEWITHGMM) . zkn_comment_00.gmm $(ZNK_COMMENT_00_MSTXT)

  $(MSPROJDIR)$(ZNK_COMMENT_01_MSTXT) : zkn_comment_01.gmm
    $(UPDATEWITHGMM) . zkn_comment_01.gmm $(ZNK_COMMENT_01_MSTXT)

  $(MSPROJDIR)$(ZNK_HEIGHT_MSTXT) : zkn_height.gmm
    $(UPDATEWITHGMM) . zkn_height.gmm $(ZNK_HEIGHT_MSTXT)

  $(MSPROJDIR)$(ZNK_WEIGHT_MSTXT) : zkn_xeight.gmm
    $(UPDATEWITHGMM) . zkn_xeight.gmm $(ZNK_WEIGHT_MSTXT)

  $(MSPROJDIR)$(ZNK_TYPE_MSTXT) : zkn_type.gmm
    $(UPDATEWITHGMM) . zkn_type.gmm $(ZNK_TYPE_MSTXT)

  $(MSPROJDIR)$(ZNK_FORM_MSTXT) : zkn_form.gmm
    $(UPDATEWITHGMM) . zkn_form.gmm $(ZNK_FORM_MSTXT)

#------------------------------------------------------------------------------
#  clean
#------------------------------------------------------------------------------
clean:
  rm -f $(TARGETDIR)/$(targetname_data).garc
  rm -f $(TARGETDIR)/$(targetname_data).gaix
  rm -f $(TARGETDIR)/$(targetname_area_x).garc
  rm -f $(TARGETDIR)/$(targetname_area_x).gaix
  rm -f $(TARGETDIR)/$(targetname_area_y).garc
  rm -f $(TARGETDIR)/$(targetname_area_y).gaix
  if $(equal $(CONVERTUSER), true)
    rm -f *.dat
    rm -f *.cdat
    rm -f $(input_data_sort_aiueo_idx)
    rm -f $(input_area_list_x)
    rm -f $(input_area_list_y)
    rm -f *.garc
    rm -f *.gaix
    rm -f $(targetname_data).garc
    rm -f $(targetname_data).gaix
    rm -f $(gmmname)
    rm -f $(targetname_area_x).garc
    rm -f $(targetname_area_x).gaix
    rm -f $(targetname_area_y).garc
    rm -f $(targetname_area_y).gaix
