#!/usr/bin/env omake
#----------------------------------------------------------------------------
#
#    g3d\[XRo[g OMakefile
#   
#----------------------------------------------------------------------------


.PHONY: build clean
.DEFAULT: build


#----------------------------------------------------------------------------
#    fobOvgȂ`
#      OMakefilep̒`łBʂł̒`킯ł͂܂B
#----------------------------------------------------------------------------
DEBUG_PRINT = false  # falseŃfobOvgȂAtrueŃfobOvg


#----------------------------------------------------------------------------
#    [U[`
#      CONVERT̓etrueɂ[U[Lq
#      jtomoya_takahashi hoge hoge2
#----------------------------------------------------------------------------
USERS[] = kawada_koji fujiwara_maiko lee_hyunjung


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

#----------------------------------------------------------------------------
#    c[
#----------------------------------------------------------------------------
# Excelt@CV[gcsvt@CŔoc[
EXCEL_SHEET_CONVERTER = $(getenv GFL_TOOL_DIR)/exceltool/ExcelSeetConv.exe

# Excelt@CoCit@CɕϊperlXNvg
FIELD_AREA_ENV_CONVERTER = field_area_env_converter.pl

# ExcelSeetConv.exefield_area_env_converter.plŎgpĂ


#----------------------------------------------------------------------------
#    ŏIʕ
#      arct@C
#----------------------------------------------------------------------------
ARC_FILE = field_area_env


#----------------------------------------------------------------------------
#    fBNg
#      Ro[gĂłoCit@CuĂꏊƁAŏIʕuĂꏊ
#----------------------------------------------------------------------------
BINARY_DIR = ./binary/
ARC_DIR = $(getenv PROJECT_ROOT)/arc/


#----------------------------------------------------------------------------
#    [U쐬t@C
#----------------------------------------------------------------------------
EXCEL_FILES[] =
  data/field_area_env0.xls
  data/field_area_env1.xls
  data/field_area_env2.xls
  data/field_area_env3.xls

if $(equal $(DEBUG_PRINT), true)
  println( $"EXCEL_FILES" )
  foreach(i, $(EXCEL_FILES))
    println( $(i) )


#----------------------------------------------------------------------------
#    Ro[gĂłoCit@C
#----------------------------------------------------------------------------
ChangeDirectorySuffix(out_dir, in_files) =
  out_files =
  foreach(in_file, $(in_files))
    out_file = $(replacesuffixes $".xls", $".bin", $(in_file))
    out_dir_file = $(out_dir)/$(basename $(out_file))
    out_files += $(out_dir_file)
    export out_files
  return $(out_files)

BINARY_FILES[] =
BINARY_FILES += $(ChangeDirectorySuffix $(BINARY_DIR), $(EXCEL_FILES))

if $(equal $(DEBUG_PRINT), true)
  println( $"BINARY_FILES" )
  foreach(i, $(BINARY_FILES))
    println( $(i) )


ConvertFieldAreaEnv(out_dir, in_files) =
  out_files =
  foreach(in_file, $(in_files))
    out_file = $(replacesuffixes $".xls", $".bin", $(in_file))
    out_dir_file = $(out_dir)/$(basename $(out_file))
    $(out_dir_file): $(FIELD_AREA_ENV_CONVERTER) $(in_file)
      mkdir -p $(out_dir)
      perl $(FIELD_AREA_ENV_CONVERTER) $(in_file) $(out_dir_file)
    out_files += $(out_dir_file)
    export out_files
  return $(out_files)


#----------------------------------------------------------------------------
#    build
#----------------------------------------------------------------------------
if $(or $(equal $(TARGETS), .DEFAULT) $(equal $(TARGETS), build))  # build^[Qbgbuild:[Ȃ̂ifŊ
  section  # build: $(ARC_DIR)/$(ARC_FILE).garc
    if $(equal $(CONVERTUSER), true)
      section  # $(BINARY_FILES): $(EXCEL_FILES)  # ˑ֌WƃfBNg̏ꂽ֐Ăł
        ret = $(ConvertFieldAreaEnv $(BINARY_DIR), $(EXCEL_FILES))

      $(ARC_FILE).garc: $(BINARY_FILES)
        $(GFARC) $(ARC_FILE) $(BINARY_FILES)

    $(ARC_DIR)/$(ARC_FILE).garc: $(ARC_FILE).garc
      cp $(ARC_FILE).garc $(ARC_DIR)/$(ARC_FILE).garc
      cp $(ARC_FILE).gaix $(ARC_DIR)/$(ARC_FILE).gaix

  build: $(ARC_DIR)/$(ARC_FILE).garc


#----------------------------------------------------------------------------
#    clean
#----------------------------------------------------------------------------
if $(equal $(TARGETS), clean)  # clean^[Qbgclean:[̂ifŊȂĂ悢
  clean:
    if $(equal $(CONVERTUSER), true)
      rm -f $(ARC_FILE).garc
      rm -f $(ARC_FILE).gaix
      rm -f $(BINARY_DIR)/*.*
      rmdir -f $(BINARY_DIR)

    rm -f $(ARC_DIR)/$(ARC_FILE).garc
    rm -f $(ARC_DIR)/$(ARC_FILE).gaix


DefineDefaultRules()

