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


.PHONY: build clean
.DEFAULT: build


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


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

#----------------------------------------------------------------------------
#    ʃ}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 = love


#----------------------------------------------------------------------------
#    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@ς
#----------------------------------------------------------------------------
INTERMEDIATE_FILES[] =

INTERMEDIATE_FILES_TEXTURE_REFERENCE_SOLOVED[] =
  asobitai.cptl
  furimuki.cptl
  k_heart.cptl
  k_heart_2.cptl
  kaiten01.cptl
  kirakira.cptl
  onpu.cptl
  pop.cptl


#----------------------------------------------------------------------------
#    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()

