#!/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[] = takada_keisuke


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


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


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


#----------------------------------------------------------------------------
#    [U쐬t@C
#      INTERMEDIATE_FILESINTERMEDIATE_FILES_TEXTURE_REFERENCE_SOLOVEDŃRo[g@ς
#----------------------------------------------------------------------------
include ReousceList.dat



#----------------------------------------------------------------------------
#    Ro[gĂłoCit@C
#----------------------------------------------------------------------------
BINARY_FILES[] =
BINARY_FILES += $(G3DTOOL_ChangeDirectoryInPath $(BINARY_DIR), $(G3DTOOL_ChangeG3dSuffixIntermediateToBinary $(INTERMEDIATE_FILES)))
BINARY_FILES += $(G3DTOOL_ChangeDirectoryInPath $(BINARY_DIR),\
  $(G3DTOOL_ChangeG3dSuffixIntermediateToBinary $(INTERMEDIATE_FILES_TEXTURE_REFERENCE_SOLOVED)))
if $(equal $(DEBUG_PRINT), true)
  println( $"BINARY_FILES" )
  foreach(i, $(BINARY_FILES))
    println( $(i) )


#----------------------------------------------------------------------------
#    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): $(INTERMEDIATE_FILES) $(INTERMEDIATE_FILES_TEXTURE_REFERENCE_SOLOVED)  # ˑ֌WƃfBNg̏ꂽ֐Ăł
        ret = $(G3DTOOL_MakeEachG3dBinaryFileSimple $(BINARY_DIR), $(INTERMEDIATE_FILES))
        ret = $(G3DTOOL_MakeTextureReferenceSolvedG3dBinaryFileUsingTemporarySimple $(BINARY_DIR), $(INTERMEDIATE_FILES_TEXTURE_REFERENCE_SOLOVED))

      $(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
      ret = $(G3DTOOL_RemoveG3dBinaryAndTemporaryFileInDirectory $(BINARY_DIR))
      rmdir -f $(BINARY_DIR)
  
    rm -f $(ARC_DIR)/$(ARC_FILE).garc
    rm -f $(ARC_DIR)/$(ARC_FILE).gaix


DefineDefaultRules()
