#!/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 lee_hyunjung


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


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


#----------------------------------------------------------------------------
#    [U쐬t@C
#----------------------------------------------------------------------------
INTERMEDIATE_FILES[] =
  heroine/model/body_b1.cmdl
  heroine/model/body_b2.cmdl
  heroine/model/body_u1.cmdl
  heroine/model/body_u2.cmdl
  heroine/model/head1.cmdl
  heroine/model/head2.cmdl
  heroine/motion/pmkujira_heroine_fi_brake.cskla
  heroine/motion/pmkujira_heroine_fi_skate.cskla
  heroine/motion/pmkujira_heroine_fi_skatecurveL.cskla
  heroine/motion/pmkujira_heroine_fi_wait.cskla
  heroine/motion/pmkujira_heroine_fi_walk_hair.cskla
  heroine/motion/pmkujira_player_fi_skatecurveR.cskla
  heroine/motion/pmkujira_player_fi_skatestop.cskla
  heroine/motion/pmkujira_player_fi_speedup.cskla
  heroine/motion/pmkujira_heroine_fi_jump.cskla
  heroine/Textures/bag.ctex
  heroine/Textures/bag_kage.ctex
  heroine/Textures/body2_d.ctex
  heroine/Textures/body2_d_kage.ctex
  heroine/Textures/body2_u.ctex
  heroine/Textures/body2_u_kage.ctex
  heroine/Textures/body_b1_b.ctex
  heroine/Textures/body_b1_b_kage.ctex
  heroine/Textures/body_b1_w.ctex
  heroine/Textures/body_b1_w_kage.ctex
  heroine/Textures/body_b1_y.ctex
  heroine/Textures/body_b1_y_kage.ctex
  heroine/Textures/body_b2_b.ctex
  heroine/Textures/body_b2_b_kage.ctex
  heroine/Textures/body_b2_w.ctex
  heroine/Textures/body_b2_w_kage.ctex
  heroine/Textures/body_b2_y.ctex
  heroine/Textures/body_b2_y_kage.ctex
  heroine/Textures/body_u1_b.ctex
  heroine/Textures/body_u1_b_kage.ctex
  heroine/Textures/body_u1_w.ctex
  heroine/Textures/body_u1_w_kage.ctex
  heroine/Textures/body_u1_y.ctex
  heroine/Textures/body_u1_y_kage.ctex
  heroine/Textures/body_u2_b.ctex
  heroine/Textures/body_u2_b_kage.ctex
  heroine/Textures/body_u2_w.ctex
  heroine/Textures/body_u2_w_kage.ctex
  heroine/Textures/body_u2_y.ctex
  heroine/Textures/body_u2_y_.ctex
  heroine/Textures/body_u2_y_kage.ctex
  heroine/Textures/hat.ctex
  heroine/Textures/hat_kage.ctex
  heroine/Textures/kami1.ctex
  heroine/Textures/kami1_kage.ctex
  heroine/Textures/kao1_b.ctex
  heroine/Textures/kao1_b_kage.ctex
  heroine/Textures/kao1_w.ctex
  heroine/Textures/kao1_w_kage.ctex
  heroine/Textures/kao1_y.ctex
  heroine/Textures/kao1_y_kage.ctex    

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


#----------------------------------------------------------------------------
#    Ro[gĂłoCit@C
#----------------------------------------------------------------------------
BINARY_FILES[] =
BINARY_FILES += $(G3DTOOL_ChangeDirectoryInPath $(BINARY_DIR), $(G3DTOOL_ChangeG3dSuffixIntermediateToBinary $(INTERMEDIATE_FILES)))
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)  # ˑ֌WƃfBNg̏ꂽ֐Ăł
        ret = $(G3DTOOL_MakeEachG3dBinaryFileSimple $(BINARY_DIR), $(INTERMEDIATE_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
      ret = $(G3DTOOL_RemoveG3dBinaryAndTemporaryFileInDirectory $(BINARY_DIR))
      rmdir -f $(BINARY_DIR)
  
    rm -f $(ARC_DIR)/$(ARC_FILE).garc
    rm -f $(ARC_DIR)/$(ARC_FILE).gaix


DefineDefaultRules()

