#!/usr/bin/env omake

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


#----------------------------------------------------------------------------
#      ^[Qbgt@C
#----------------------------------------------------------------------------
ARC_FILE = debug_info_message

#----------------------------------------------------------------------------
#      ʕRs[tH_
#----------------------------------------------------------------------------
#A[JCut@C
TARGET_DIR = $(getenv PROJECT_ROOT)/arc/

SCR_MSG_H = $(getenv PROJECT_ROOT)/prog/include/message/script

CONVERTER_RB = msg_label_converter.rb
SCR_BINS_DIR = scr_bins

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

#----------------------------------------------------------------------------
#      Ro[g
#----------------------------------------------------------------------------
MakeDepend(header_dir,src_dir) =
  DEPEND[] =
  file_list = $(glob i, $(header_dir)/*.h)
  foreach( i,$(file_list))
    BIN_FILE = ./$(src_dir)/$(rootname $(basename $(i))).bin
    DEPEND += $(BIN_FILE)
    # Ro[g
    $(BIN_FILE):$(i)
      ruby $(CONVERTER_RB) $(SCR_BINS_DIR) $(i)
    export
  return $(DEPEND)

#----------------------------------------------------------------------------
#      f[^pbN
#----------------------------------------------------------------------------
PackDatas(folder,files,out_dir) =
  $(out_dir)/$(folder).pack $(folder)/$(folder).h:$(files)
    $(BINLINKER) $(files) $(out_dir)/$(folder).pack TM 128
    cp $(out_dir)/$(folder).h $(folder)
  return $(out_dir)/$(folder).pack

#----------------------------------------------------------------------------
#      k
#----------------------------------------------------------------------------
CompFiles(array) =
  TARGET_OBJS[] =

  foreach(filename, $(array))
    $(filename)_lz:$(filename)
      $(CTR_COMP) -lex -o $(filename)_lz $(filename)

    TARGET_OBJS += $(filename)_lz
    export

  return $(TARGET_OBJS)

#----------------------------------------------------------------------------
#      oCiXg
#----------------------------------------------------------------------------
BINARY_FILES[] =
if $(or $(equal $(TARGETS), .DEFAULT) $(equal $(TARGETS), build))
  BINARY_FILES = $(MakeDepend $(SCR_MSG_H),$(SCR_BINS_DIR))
  # \[g
  BINARY_FILES = $(set $(BINARY_FILES))
  # t
  BINARY_FILES = $(rev $(BINARY_FILES))
  BINARY_FILES = $(CompFiles $(BINARY_FILES))
  export


#----------------------------------------------------------------------------
#      rh[
#----------------------------------------------------------------------------
build: $(TARGET_DIR)$(ARC_FILE).gaix $(TARGET_DIR)$(ARC_FILE).garc
  # echo "build"

# Rs[[
$(TARGET_DIR)$(ARC_FILE).gaix $(TARGET_DIR)$(ARC_FILE).garc:$(ARC_FILE).gaix $(ARC_FILE).garc
  cp $(ARC_FILE).garc $(TARGET_DIR)
  cp $(ARC_FILE).gaix $(TARGET_DIR)

# A[JCu[
$(ARC_FILE).gaix $(ARC_FILE).garc:$(BINARY_FILES)
  $(GFARC) $(ARC_FILE) $(BINARY_FILES)

clean:
  rm -f $(TARGET_DIR)$(ARC_FILE).garc
  rm -f $(TARGET_DIR)$(ARC_FILE).gaix
  rm -f $(ARC_FILE).garc
  rm -f $(ARC_FILE).gaix
  rm -f $(SCR_BINS_DIR)/*.bin_lz
  rm -f $(SCR_BINS_DIR)/*.bin


DefineDefaultRules()


