#!/usr/bin/env omake
#----------------------------------------------------------------------------
# Project:  NintendoWare
# File:     OMakefile
#
# Copyright (C)2009 Nintendo  All rights reserved.
#
# These coded instructions, statements, and computer programs contain
# proprietary information of Nintendo of America Inc. and/or Nintendo
# Company Ltd., and are protected by Federal copyright law.  They may
# not be disclosed to third parties or copied or duplicated in any form,
# in whole or in part, without the prior written consent of Nintendo.
#
# $Revision: 1.19 $
#----------------------------------------------------------------------------

# vZXT|[g^[QbgLq܂B
SUPPORTED_TARGETS   =   CTR-*.Process.MPCore.fast

#ftHgAv^Cv
if $(not $(defined UJI_APPTYPE))
    UJI_APPTYPE = START_MENU
    export

#ftHgvbgtH[^Cv
if $(not $(defined PLATFORM))
    PLATFORM = CTR
    export

#specfilestH_̃[g
SPECFILES_ROOT            = specfiles

#descfilẽtH_̃[g
#DESCFILES_ROOT̊ϐꍇSDK̃tH_܂B
if $(not $(defined-env DESCFILES_ROOT))
    if $(equal $(UJI_APPTYPE), START_MENU)
        DESCFILES_ROOT = $(CTRSDK_ROOT)/resources/specfiles/private/
        export
    else
        DESCFILES_ROOT = $(CTRSDK_ROOT)/resources/specfiles/hwcheck/
        export
    export

#brt쐬ݒ
if $(not $(defined MAKECSU))
    MAKEROMFLAGS += -DEVA_MAKECSU=false
    export
else
    MAKECSU = true
    MAKEROMFLAGS += -DEVA_MAKECSU=true
    export

#ftHgrsf/bsft@C
ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial.rsf
CTR_BANNER_SPEC  = trial.bsf


#f[^ݗptH_폜ɐVK쐬
ROMFS_ROOT_IMPORT = data/romfiles/import
rm -rf $(ROMFS_ROOT_IMPORT)
mkdir -p $(ROMFS_ROOT_IMPORT)

ROMFS_ROOT_MISC = data/romfiles/misc
rm -rf $(ROMFS_ROOT_MISC)
mkdir -p $(ROMFS_ROOT_MISC)


#ftHgPREINSTALL=false, REBOOT=false, ADDITIONAL_IMPORT=false, CARM=false, CHN_KOR=false, TEST_MENU_BOOT=false
#AUTOMATION=false
#EVA_SLIDEPAD_AUTO=false
PREINSTALL=false
REBOOT=false
HSM_RESTRICT=false
CARM=false
CHN_KOR=false
TEST_MENU_BOOT=false
EVA_SLIDEPAD_AUTO=false
EVA_TOUCHPANEL_AUTO=false
CCFLAGS += -DPREINSTALL=$(PREINSTALL) -DREBOOT=$(REBOOT) -DHSM_RESTRICT=$(HSM_RESTRICT)
CCFLAGS += -DCARM=$(CARM) -DCHN_KOR=$(CHN_KOR) -DTEST_MENU_BOOT=$(TEST_MENU_BOOT)
CCFLAGS += -DEVA_SLIDEPAD_AUTO=$(EVA_SLIDEPAD_AUTO) -DEVA_TOUCHPANEL_AUTO=$(EVA_TOUCHPANEL_AUTO)

if $(not $(defined AUTOMATION))
    AUTOMATION = false
    export
else
    AUTOMATION = true
    export
CCFLAGS += -DAUTOMATION=$(AUTOMATION)

IMPORTEE_PRG_NAME   =$(string "----")   # 10܂łʂɕ\Ȃ̂Œ
IMPORTEE_PRG_VER    =$(string "X.XX")
CCFLAGS += -DIMPORTEE_PRG_NAME=$(IMPORTEE_PRG_NAME) -DIMPORTEE_PRG_VER=$(IMPORTEE_PRG_VER)

# BMST[o[ɃAbvꍇ̓o[WCNg邱
# ciat@C̃o[W major-minor-micro = 6-6-4 bit ŎĂB
# ()o[W 16  00-01-00
# 00-00-12: G[WOŎgpi1`11j
# 00-00-13: AvP[ViFTRŁj1.00ŎgpiJ␳ɏCߕs̗pj
# 00-00-14: AvP[ViFTRŁj1.01ŎgpiFLOWER DP2pj
# 00-00-15: AvP[ViFTRŁj1.02ŎgpiFLOWER zVfPP2pj
# 00-01-00: AvP[ViFTRŁj1.03ŎgpiFLOWER ʎYOГʂؗpj
# 00-01-01: AvP[ViFTRŁj1.04ŎgpiFLOWER ʎYpAFOXCONN PP2pj
# 00-01-02: AvP[ViFTRŁj1.05Ŏgp
# 00-01-03: AvP[ViFTRŁj1.05Ŏgpisɂč쐬j
# 00-01-04: ԁiOLSsɂj
# 00-01-05: AvP[ViFTRŁj1.06Ŏgpisɂč쐬j
# 00-01-06: AvP[ViFTRŁj1.07ŎgpidloOɂ1.07쐬j
# 00-01-07: AvP[ViFTRŁj1.07Ŏgp
# 00-01-08: AvP[ViFTRŁj1.08Ŏgp
# 00-01-09: AvP[ViFTRŁj1.09Ŏgp
# 00-01-12: G[WO FCRAMsǖ{̌ؗp(H, 10`11l)
# 00-01-13: AvP[ViFTRŁj1.10Ŏgp
# 00-01-15: AvP[ViFTRŁj1.11Ŏgp(14͕sɂ茇)
# 00-02-02: KTR/REDG[WO(00`01gp)
# 00-0*-**: AvP[ViCTR/SPRŁj1.00Ŏgp\i܂gpłB[X^C~OɂĂ͐Ɏgpĉj
MAKECIAFLAGS=-minor 2 -micro 02

#------------------------------------------------------------
#\tg̊eo[W
#

UJI_APPVER_START_MENU       = $(string "4.00")
UJI_APPVER_AGING            = $(string "5.30")
UJI_APPVER_AGING_I          = $(string "5.30")
UJI_APPVER_SHOCK            = $(string "4.00")
UJI_APPVER_BOARD            = $(string "5.04")
UJI_APPVER_INTERFACE        = $(string "5.02")
UJI_APPVER_GYRO_M           = $(string "5.10")
UJI_APPVER_GYRO_C           = $(string "5.13")
UJI_APPVER_TP               = $(string "5.01")
UJI_APPVER_TP_MODULE        = $(string "1.00")
UJI_APPVER_WIRELESS         = $(string "4.10")
UJI_APPVER_WL_AUDIO         = $(string "1.03")
UJI_APPVER_PARALLAX         = $(string "4.07")
UJI_APPVER_OCAM             = $(string "4.00")
UJI_APPVER_ICAM             = $(string "4.10")
UJI_APPVER_OCAM_WB          = $(string "0.00")
UJI_APPVER_CAM_AND_IF       = $(string "1.05")
UJI_APPVER_CAM_CAPTURE      = $(string "1.02")
UJI_APPVER_LCD_AND_KEY      = $(string "5.36")
UJI_APPVER_LCD_MODULE       = $(string "5.00")
UJI_APPVER_MIC_TESTER       = $(string "4.00")
UJI_APPVER_MIC_TESTER_QC    = $(string "4.00")
UJI_APPVER_MIC_FPC          = $(string "4.00")
UJI_APPVER_SLIDEPAD         = $(string "4.00")
UJI_APPVER_SLIDEPAD_AUTO    = $(string "4.00")
UJI_APPVER_SP_AND_TP        = $(string "1.02")
UJI_APPVER_ACC              = $(string "5.24")
UJI_APPVER_REENTRY          = $(string "5.01")
UJI_APPVER_COLLECT          = $(string "4.00")
UJI_APPVER_REPAIR           = $(string "5.22")
UJI_APPVER_LCD_Q            = $(string "4.00")
UJI_APPVER_LCD_RED          = $(string "4.00")
UJI_APPVER_CAL2CFG          = $(string "5.01")
UJI_APPVER_CAL2CFG_CARM     = $(string "4.10")
UJI_APPVER_SPFL_LCD_AND_KEY = $(string "4.00")
UJI_APPVER_SPFL_LCD_MODULE  = $(string "4.00")
UJI_APPVER_APP_JUMP         = $(string "1.01")
UJI_APPVER_APP_I            = $(string "1.05")
UJI_APPVER_COMPOSITE_FTR    = $(string "1.11")
UJI_APPVER_COMPOSITE_CTR    = $(string "1.00")

CCFLAGS += -DUJI_APPVER_START_MENU=$(UJI_APPVER_START_MENU)
CCFLAGS += -DUJI_APPVER_AGING=$(UJI_APPVER_AGING)
CCFLAGS += -DUJI_APPVER_AGING_I=$(UJI_APPVER_AGING_I)
CCFLAGS += -DUJI_APPVER_SHOCK=$(UJI_APPVER_SHOCK)
CCFLAGS += -DUJI_APPVER_BOARD=$(UJI_APPVER_BOARD)
CCFLAGS += -DUJI_APPVER_INTERFACE=$(UJI_APPVER_INTERFACE)
CCFLAGS += -DUJI_APPVER_GYRO_M=$(UJI_APPVER_GYRO_M)
CCFLAGS += -DUJI_APPVER_GYRO_C=$(UJI_APPVER_GYRO_C)
CCFLAGS += -DUJI_APPVER_TP=$(UJI_APPVER_TP)
CCFLAGS += -DUJI_APPVER_WIRELESS=$(UJI_APPVER_WIRELESS)
CCFLAGS += -DUJI_APPVER_WL_AUDIO=$(UJI_APPVER_WL_AUDIO)
CCFLAGS += -DUJI_APPVER_PARALLAX=$(UJI_APPVER_PARALLAX)
CCFLAGS += -DUJI_APPVER_OCAM=$(UJI_APPVER_OCAM)
CCFLAGS += -DUJI_APPVER_ICAM=$(UJI_APPVER_ICAM)
CCFLAGS += -DUJI_APPVER_OCAM_WB=$(UJI_APPVER_OCAM_WB)
CCFLAGS += -DUJI_APPVER_CAM_AND_IF=$(UJI_APPVER_CAM_AND_IF)
CCFLAGS += -DUJI_APPVER_CAM_CAPTURE=$(UJI_APPVER_CAM_CAPTURE)
CCFLAGS += -DUJI_APPVER_LCD_AND_KEY=$(UJI_APPVER_LCD_AND_KEY)
CCFLAGS += -DUJI_APPVER_LCD_MODULE=$(UJI_APPVER_LCD_MODULE)
CCFLAGS += -DUJI_APPVER_MIC_TESTER=$(UJI_APPVER_MIC_TESTER)
CCFLAGS += -DUJI_APPVER_MIC_TESTER_QC=$(UJI_APPVER_MIC_TESTER_QC)
CCFLAGS += -DUJI_APPVER_MIC_FPC=$(UJI_APPVER_MIC_FPC)
CCFLAGS += -DUJI_APPVER_SLIDEPAD=$(UJI_APPVER_SLIDEPAD)
CCFLAGS += -DUJI_APPVER_SLIDEPAD_AUTO=$(UJI_APPVER_SLIDEPAD_AUTO)
CCFLAGS += -DUJI_APPVER_SP_AND_TP=$(UJI_APPVER_SP_AND_TP)
CCFLAGS += -DUJI_APPVER_ACC=$(UJI_APPVER_ACC)
CCFLAGS += -DUJI_APPVER_REENTRY=$(UJI_APPVER_REENTRY)
CCFLAGS += -DUJI_APPVER_COLLECT=$(UJI_APPVER_COLLECT)
CCFLAGS += -DUJI_APPVER_LCD_Q=$(UJI_APPVER_LCD_Q)
CCFLAGS += -DUJI_APPVER_LCD_RED=$(UJI_APPVER_LCD_RED)
CCFLAGS += -DUJI_APPVER_CAL2CFG=$(UJI_APPVER_CAL2CFG)
CCFLAGS += -DUJI_APPVER_CAL2CFG_CARM=$(UJI_APPVER_CAL2CFG_CARM)
CCFLAGS += -DUJI_APPVER_SPFL_LCD_AND_KEY=$(UJI_APPVER_SPFL_LCD_AND_KEY)
CCFLAGS += -DUJI_APPVER_SPFL_LCD_MODULE=$(UJI_APPVER_SPFL_LCD_MODULE)
CCFLAGS += -DUJI_APPVER_APP_JUMP=$(UJI_APPVER_APP_JUMP)
CCFLAGS += -DUJI_APPVER_APP_I=$(UJI_APPVER_APP_I)
CCFLAGS += -DUJI_APPVER_COMPOSITE_FTR=$(UJI_APPVER_COMPOSITE_FTR)
CCFLAGS += -DUJI_APPVER_COMPOSITE_CTR=$(UJI_APPVER_COMPOSITE_CTR)

#------------------------------------------------------------
# Av̐ݒ
#   EUJI_APPTYPE ɈقȂݒLq܂
#   EUJI_APPVER ̓vOŕƂĈ܂

#
#X^[gj[
#
if $(equal $(UJI_APPTYPE), START_MENU)
    # o[W𕶎Ŏw
    UJI_APPVER  = $(UJI_APPVER_START_MENU)
    # Ǝ RSF t@Cw肷ꍇ͉L̂悤ɋLq܂B
    #ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial.rsf
    # vOŃAv^Cv𔻕ʂׂ̃tO
    EVA_START_MENU=true
    CCFLAGS += -DEVA_START_MENU=$(EVA_START_MENU)
    # Z[uA[JCu
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheckProgram.desc
    export

#
#G[WO
#
#Ver.5.30 fBXvCobt@120ɑ₵AFCRAM͈͂g
if $(equal $(UJI_APPTYPE), AGING)
    UJI_APPVER = $(UJI_APPVER_AGING)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/aging.rsf
    EVA_AGING=true
    CCFLAGS += -DEVA_AGING=$(EVA_AGING)
    EVA_ENABLE_GPUTEST=true
    CCFLAGS += -DEVA_ENABLE_GPUTEST=$(EVA_ENABLE_GPUTEST)
    EVA_ENABLE_SLEEP=true
    CCFLAGS += -DEVA_ENABLE_SLEEP=$(EVA_ENABLE_SLEEP)
    #SC̃obe[sǌؗpG[WO
    if $(defined SC_CHECK_BATTERY_AGING)
        CCFLAGS += -DSC_CHECK_BATTERY_AGING
        export
    switch $(UJI_SAVEARCHIVE)
    case data
        ROM_SPEC_FILE = $(SPECFILES_ROOT)/aging_data.rsf
        UJI_SAVEARCHIVE=$(string "data:")
        export
    case sdmc
        ROM_SPEC_FILE = $(SPECFILES_ROOT)/aging.rsf
        UJI_SAVEARCHIVE=$(string "sdmc:")
        export
    CTR_APPTYPE = BOTH
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_AgingShock.desc
    export

#
#G[WOC|[^
#
if $(equal $(UJI_APPTYPE), AGING_I)
    UJI_APPVER = $(UJI_APPVER_AGING_I)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/aging_i.rsf
    CTR_BANNER_SPEC  = import.bsf
    EVA_AGING_I=true
    CCFLAGS += -DEVA_AGING_I=$(EVA_AGING_I)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_AgingImporter.desc
    export


#
#VbN
#
if $(equal $(UJI_APPTYPE), SHOCK)
    UJI_APPVER = $(UJI_APPVER_SHOCK)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial1.rsf
    EVA_SHOCK=true
    CCFLAGS += -DEVA_SHOCK=$(EVA_SHOCK)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_AgingShock.desc
    export

#
#
#4.20 NEC̎ZŃV[PXǉAdOFFɂΉ
#5.01 SPRp̃vOo[Wɍ킹邽߃W[o[WAbv
#     IrʐM̃{[[g115200ɕύX
#5.02 FTR̓obNCgd莞ɐݒlꎞύX悤ɏC
#     ē̏ł{ł悤ǉiHł͎gȂ@\j
#     FTR̃TEhݒXeIɁiwbhzΉj
#5.03 MacAhX EEPROMւ̃Rs[@\iFTR SP2j
#     p AZXE~c~[h 
#5.04 EMS LabelȌ݂ɑΉ
#     쐬c
if $(equal $(UJI_APPTYPE), BOARD)
    UJI_APPVER = $(UJI_APPVER_BOARD)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/board.rsf
    EVA_BOARD=true
    CCFLAGS += -DEVA_BOARD=$(EVA_BOARD)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_BoardInterface.desc
    export

if $(defined FTR_SP2)
    EVA_WIFI_ON_BOARD=true
    export

#
#C^[tFCX
#
# 4.11FIrNGɌʏڍׂʂɕ\
# 5.01FSPRp̃vOo[Wɍ킹邽߃W[o[WAbv
#       IrʐM̃{[[g115200ɕύX
# 5.02FFTR̃TEhݒXeIɁiwbhzΉj
if $(equal $(UJI_APPTYPE), INTERFACE)
    UJI_APPVER = $(UJI_APPVER_INTERFACE)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup2.rsf
    EVA_INTERFACE=true
    CCFLAGS += -DEVA_INTERFACE=$(EVA_INTERFACE)
    UJI_SAVEARCHIVE=$(string "sdmc:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_BoardInterface.desc
    export


#
#WCiMASTER)
#
if $(equal $(UJI_APPTYPE), GYRO_M)
    UJI_APPVER = $(UJI_APPVER_GYRO_M)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup3.rsf
    EVA_GYRO_M=true
    CCFLAGS += -DEVA_GYRO_M=$(EVA_GYRO_M)
    UJI_SAVEARCHIVE=$(string "sdmc:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device01.desc
    export

#
#WCiCLIENT)
#
if $(equal $(UJI_APPTYPE), GYRO_C)
    UJI_APPVER = $(UJI_APPVER_GYRO_C)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_GYRO_C=true
    CCFLAGS += -DEVA_GYRO_C=$(EVA_GYRO_C)
    UJI_SAVEARCHIVE=$(string "data:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device02.desc
    export

#
#^b`plLu[V
#
if $(equal $(UJI_APPTYPE), TP)
    UJI_APPVER = $(UJI_APPVER_TP)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_TP=true
    CCFLAGS += -DEVA_TP=$(EVA_TP)
    UJI_SAVEARCHIVE=$(string "data:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device01.desc
    export

#
#i
#
if $(equal $(UJI_APPTYPE), WIRELESS)
    UJI_APPVER = $(UJI_APPVER_WIRELESS)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup1.rsf
    EVA_WIRELESS=true
    CCFLAGS += -DEVA_WIRELESS=$(EVA_WIRELESS)
    UJI_SAVEARCHIVE=$(string "sdmc:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Wireless.desc
    export


#
#iJij
#
# Ver.4.01FzCgoX̕␳ɂΉiFLOWER DP1Ƀ[Xj
# Ver.4.02FzCgoX̕␳l 78𒴂ۂɈxĕ␳悤C
# Ver.4.03FEVA_COMPOSITȄꍇAIPassʕ\R}h҂󂯉ʔ鏈iNANDAvƂ FLOWER DP2Ƀ[Xj
# Ver.4.04FzCgoX̕␳l 78𒴂ۂ NG肷悤C
# Ver.4.05FNANDAvɃuNtbVJ[hłł悤C
# Ver.4.06FSPIʐM̒ʐMx 4MHz ɕύX
# Ver.4.07FSPIʐM̒ʐMx 8MHz ɕύXiJ&IFɍ킹Ă̕ύXj
if $(equal $(UJI_APPTYPE), PARALLAX)
    UJI_APPVER = $(UJI_APPVER_PARALLAX)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup4.rsf
    EVA_PARALLAX=true
    CCFLAGS += -DEVA_PARALLAX=$(EVA_PARALLAX)
    UJI_SAVEARCHIVE=$(string "sdmc:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Ocam.desc
    export


#
#iJ-OUT
#
if $(equal $(UJI_APPTYPE), OCAM)
    UJI_APPVER = $(UJI_APPVER_OCAM)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup4.rsf
    EVA_OCAM=true
    CCFLAGS += -DEVA_OCAM=$(EVA_OCAM)
    UJI_SAVEARCHIVE=$(string "sdmc:")

    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Ocam.desc
    export
#
#iJ-IN
#
#4.10 OUTJ̃S~EV~ǉ
if $(equal $(UJI_APPTYPE), ICAM)
    UJI_APPVER = $(UJI_APPVER_ICAM)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial1.rsf
    EVA_ICAM=true
    CCFLAGS += -DEVA_ICAM=$(EVA_ICAM)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Icam.desc
    export

#
#iJ-OUT WBP̕␳
#
if $(equal $(UJI_APPTYPE), OCAM_WB)
    UJI_APPVER = $(UJI_APPVER_OCAM_WB)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial.rsf
    EVA_OCAM_WB=true
    CCFLAGS += -DEVA_OCAM_WB=$(EVA_OCAM_WB)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheckProgram.desc
    export

#
#J&I/F
#
#0.00`0.01 ~IVXeɃ[XĂ鎎
#0.02 FLOWER DP1Ƀ[X
#0.03 QCΉiBSwapBuffers̋sj
#     IɃeXgj[ɖ߂Ή
#0.04 QCɐΉ
#     NANDAvpɃuNJ[hłʐMł悤C
#     KING PP1Ƀ[X
#1.00 FTRʎYɃ[X
#     NANDAvɖ{̓Heap摜擾悤ɏC
#1.01 LINE[ĥ݃JBeȞOmFǉ
#1.02 QC[hɂBe̍ۂ̘IݒlC
#1.03 摜]̒ʐMx 4MHz ɕύX
#1.04 摜]̒ʐMx 8MHz ɕύXi4MHzł͌^Ngɉeo߁j
#1.05 EMS Labell̓ǂݏoɑΉ
#     쐬c
if $(equal $(UJI_APPTYPE), CAM_AND_IF)
    UJI_APPVER = $(UJI_APPVER_CAM_AND_IF)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup4.rsf
    EVA_CAM_AND_IF = true
    CCFLAGS += -DEVA_CAM_AND_IF=$(EVA_CAM_AND_IF)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Ocam.desc
    export

#
#JBHpvO
#
#0.00~0.01F~IWB蓮ݒBAv
#0.02F3B@\
#0.03FujitH_쐬At@C폜@\ǉAHOME{^łBł悤ɂȂ
#      `[gFAWB ONAׂFAWB OFF 7000K     FTR DP1 o[WI
#0.04FFTRHOME{^ȊOł̎Be󂯕tȂ FTR DP2 o[WI
#1.00FFTRʎYɃ[X
#      NANDAvɖ{̓Heapɉ摜ۑ悤ɏC
#1.01F`[gBeɃt@t@[炷悤C
#      `[gBe̘IݒύXĈÂ߂
#1.02FƂъmFǉB
#      J[hAvɂāA`[g{ׂ̔łSDJ[h}wʂoȂB
#      쐬c
if $(equal $(UJI_APPTYPE), CAM_CAPTURE)
    UJI_APPVER = $(UJI_APPVER_CAM_CAPTURE)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial1.rsf
    EVA_CAM_CAPTURE = true
    CCFLAGS += -DEVA_CAM_CAPTURE=$(EVA_CAM_CAPTURE)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Icam.desc
    export
# rsft@CAdesct@C͈Uicam̃mg


#
#kbcL[
#
#4.10 SPFLΉi3Dvolume臒lύXEʗAobNCgECODEČŒl݁ASetModel̎j
#4.11 CODEC̃}CNQĈ݃ftHglȂAInputCheckɃZNg{^EHOME{^̃JEgł
#4.12 tbJCALlݑΉASET CONSTANT CAL̈ʒutbJ[̑OɕύXAW[̊ȈՎmFǉ
#4.13 TestKeyɂă{^͎ɕJEgĂ܂s̏C
#5.00 SPR(4.13e͕ύXȂ)
#5.01 SPRpŒlCALύXirr΍j
#5.10 rr艹ǉ
#5.20 CAL̒lCFGփRs[悤ύX(NTRɂĉʐF\ɑΉ邽)
#5.21 SPRɂ܂ȂCALlCTRɏ܂C
#5.22 rr艹̃V[PXftHgOFFɕύX
#5.23 {̃fʊ֐XV
if $(equal $(UJI_APPTYPE), LCD_AND_KEY)
    UJI_APPVER = $(UJI_APPVER_LCD_AND_KEY)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_LCD_AND_KEY=true
    CCFLAGS += -DEVA_LCD_AND_KEY=$(EVA_LCD_AND_KEY)
    UJI_SAVEARCHIVE=$(string "data:")
    FTR_ACC_GYRO=true
    CCFLAGS += -DFTR_ACC_GYRO=$(FTR_ACC_GYRO)
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Lcdandkey.desc
    export

#
#tW[iAj
#
#5.00 FTR(3D`FbÑXLbv)
if $(equal $(UJI_APPTYPE), LCD_MODULE)
    UJI_APPVER = $(UJI_APPVER_LCD_MODULE)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial0.rsf
    EVA_LCD_MODULE=true
    CCFLAGS += -DEVA_LCD_MODULE=$(EVA_LCD_MODULE)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Lcd.desc
    export

#
#i}CNiLinej
#
if $(equal $(UJI_APPTYPE), MIC_TESTER)
    UJI_APPVER = $(UJI_APPVER_MIC_TESTER)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup3.rsf
    EVA_MIC_TESTER=true
    CCFLAGS += -DEVA_MIC_TESTER=$(EVA_MIC_TESTER)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Mic01.desc
    #\
    #DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Mic02.desc
    export

#
#i}CNiQCj
#
if $(equal $(UJI_APPTYPE), MIC_TESTER_QC)
    UJI_APPVER = $(UJI_APPVER_MIC_TESTER_QC)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup3.rsf
    EVA_MIC_TESTER=true
    CCFLAGS += -DEVA_MIC_TESTER=$(EVA_MIC_TESTER)
    EVA_MIC_TESTER_QC=true                              # QC pɒǉ
    CCFLAGS += -DEVA_MIC_TESTER_QC=$(EVA_MIC_TESTER_QC) # QC pɒǉ
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Mic01.desc
    export



#
#}CNFPC
#
if $(equal $(UJI_APPTYPE), MIC_FPC)
    UJI_APPVER = $(UJI_APPVER_MIC_FPC)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup3.rsf
    EVA_MIC_TESTER=true
    CCFLAGS += -DEVA_MIC_TESTER=$(EVA_MIC_TESTER)
    EVA_MIC_FPC=true                                    # FPC pɒǉ
    CCFLAGS += -DEVA_MIC_FPC=$(EVA_MIC_FPC)             # FPC pɒǉ
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Mic01.desc
    export



#
#XChpbh
#
if $(equal $(UJI_APPTYPE), SLIDEPAD)
    UJI_APPVER = $(UJI_APPVER_SLIDEPAD)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_SLIDEPAD=true
    CCFLAGS += -DEVA_SLIDEPAD=$(EVA_SLIDEPAD)
    LOGCHECK_CPU_BOARD=true
    CCFLAGS += -DLOGCHECK_CPU_BOARD=$(LOGCHECK_CPU_BOARD)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device02.desc
    export



#
#XChpbh
#
if $(equal $(UJI_APPTYPE), SLIDEPAD_AUTO)
    UJI_APPVER = $(UJI_APPVER_SLIDEPAD_AUTO)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_SLIDEPAD=true
    CCFLAGS += -DEVA_SLIDEPAD=$(EVA_SLIDEPAD)
    EVA_SLIDEPAD_AUTO=true
    CCFLAGS += -DEVA_SLIDEPAD_AUTO=$(EVA_SLIDEPAD_AUTO)
    LOGCHECK_CPU_BOARD=true
    CCFLAGS += -DLOGCHECK_CPU_BOARD=$(LOGCHECK_CPU_BOARD)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device02.desc
    export

#
#XChpbh&^b`pl␳
#
if $(equal $(UJI_APPTYPE), SP_AND_TP)
    UJI_APPVER = $(UJI_APPVER_SP_AND_TP)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_SP_AND_TP=true
    CCFLAGS += -DEVA_SP_AND_TP=$(EVA_SP_AND_TP)
    LOGCHECK_CPU_BOARD=true
    CCFLAGS += -DLOGCHECK_CPU_BOARD=$(LOGCHECK_CPU_BOARD)
    EVA_SLIDEPAD_AUTO=true
    CCFLAGS += -DEVA_SLIDEPAD_AUTO=$(EVA_SLIDEPAD_AUTO)
    EVA_TOUCHPANEL_AUTO=$(EVA_SLIDEPAD_AUTO)
    CCFLAGS += -DEVA_TOUCHPANEL_AUTO=$(EVA_TOUCHPANEL_AUTO)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device01.desc
    export

#i
#
if $(equal $(UJI_APPTYPE), WL_AUDIO)
    UJI_APPVER = $(UJI_APPVER_WL_AUDIO)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup3.rsf
    EVA_WL_AUDIO=true
    CCFLAGS += -DEVA_WL_AUDIO=$(EVA_WL_AUDIO)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_MicWireless.desc
#    DESCRIPTOR          = $(CTRSDK_ROOT)/resources/specfiles/private/HwCheckProgram.desc
    export

#
#f[^݁A ([Ww肵ărhKv :omake UJI_APPTYPE=IMPORT UJI_REGION=JPN
#                      SPRpf[^݂rhƂɂ PLATFORM=SPR makeIvVKv )
#
#  o[WK
#  UJI_APPVER = $(string "?.??")
#                         1 23
#    1: W[XViXVɂ2,3͈UZbgj
#    2: ݃f[^XV
#    3: vOXV
#
#  gZ[uf[^ԍ EXT_SAVE_DATA_NUMBER
#  import.rsf Ŏw肵Ă AccessControlInfo: ExtSaveDataNumber ɍ킹
#
EXT_SAVE_DATA_NUMBER  = 0x00000000
if $(equal $(UJI_APPTYPE), IMPORT)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/import.rsf
    CTR_BANNER_SPEC  = import.bsf
    UJI_SAVEARCHIVE=$(string "data:")

    #ROMTCYspecfilew(JPN,USA,EUR,KOR̂ݑΉ)
    if $(not $(defined MEDIA_SIZE))
        MEDIA_SIZE = 2GB
        export

    #CƗpǉf[^
    if $(defined ADDITIONAL_IMPORT)
        CTR_BANNER_SPEC = trial.bsf
        HSM_RESTRICT = true
        CCFLAGS += -DHSM_RESTRICT=$(HSM_RESTRICT)
        export

    #
    # dnAvOo[WArsf̎w
    #
    #Ver5.*3    {̎API̕ύX
    #Ver5.*4    ÔWAPoV[PX폜
    #Ver5.*5    NGLCDPxɖ߂悤
    #Ver5.96    5.6NUP(6thNUP6.00ɂ)(JPN CTR5.6NUPŊԈ5.85Ń[XĂ܂Ă܂)
    #Ver6.00    6.1NUP(FTR瓝)
    #Ver6.01    6.2NUP
    #Ver6.02    6.3NUP
    switch $(UJI_REGION)
    #ʎY@p
    case JPN
            IMPORT_SYS = prod/JPN
            IMPORT_SYS_DAT = s_jp.dat
            UJI_APPVER = $(string "6.02")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_jp.rsf
            if $(equal $(MEDIA_SIZE), 4GB)
                ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_jp_4gb.rsf
                export
            export
    case USA
            IMPORT_SYS = prod/USA
            IMPORT_SYS_DAT = s_us.dat
            UJI_APPVER = $(string "6.02")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us.rsf
            if $(equal $(MEDIA_SIZE), 4GB)
                ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us_4gb.rsf
                export
            export
    case EUR
            IMPORT_SYS = prod/EUR
            IMPORT_SYS_DAT = s_eu.dat
            UJI_APPVER = $(string "6.02")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_eu.rsf
            if $(equal $(MEDIA_SIZE), 4GB)
                ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_eu_4gb.rsf
                export
            export
    case KOR
            CHN_KOR=true
            IMPORT_SYS = prod/KOR
            IMPORT_SYS_DAT = s_kr.dat
            UJI_APPVER = $(string "6.02")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_kr.rsf
            if $(equal $(MEDIA_SIZE), 4GB)
                ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_kr_4gb.rsf
                export
            export
    case CHN
            CHN_KOR=true
            IMPORT_SYS = prod/CHN
            IMPORT_SYS_DAT = s_cn.dat
            UJI_APPVER = $(string "5.55")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_cn.rsf
            export
    case TWN
            IMPORT_SYS = prod/TWN
            IMPORT_SYS_DAT = s_tw.dat
            UJI_APPVER = $(string "6.00")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_tw.rsf
            export
    #J@p
    case JPN_DEV
            IMPORT_SYS = dev/JPN
            IMPORT_SYS_DAT = s_jp.dat
            UJI_APPVER = $(string "5.03")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_jp.rsf
            export
    case USA_DEV
            IMPORT_SYS = dev/USA
            IMPORT_SYS_DAT = s_us.dat
            UJI_APPVER = $(string "5.03")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us.rsf
            export
    case EUR_DEV
            IMPORT_SYS = dev/EUR
            IMPORT_SYS_DAT = s_eu.dat
            UJI_APPVER = $(string "5.03")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_eu.rsf
            export
    case FTR_USA_DEV
            IMPORT_SYS = dev/FTR_USA
            IMPORT_SYS_DAT = s_us.dat
            UJI_APPVER = $(string "1.00")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us.rsf
            export
    #C_p
    case UPDATE_ONLY
            FROM_OLDVER_TO_NEWVER = 0.15.20-0.17.5
            IMPORT_SYS = update/$(FROM_OLDVER_TO_NEWVER)
            UJI_APPVER = $(string "5.00")
            export
    #Jc[p (4.00SDK2.4p)
    case KMC
            IMPORT_SYS = dev/KMC
            IMPORT_SYS_DAT = s_kmc.dat
            UJI_APPVER = $(string "4.02")
            UJI_SAVEARCHIVE=$(string "sdmc:")
            export
    #
    case FTR_SP3_USA
            IMPORT_SYS = prod/FTR_SP3_USA
            IMPORT_SYS_DAT = s_us.dat
            UJI_APPVER = $(string "0.00")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us.rsf
            export
    case FTR_SP3_USA_DEV
            IMPORT_SYS = dev/FTR_SP3_USA
            IMPORT_SYS_DAT = s_us.dat
            UJI_APPVER = $(string "0.00")
            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_us.rsf
            export
    #̑i IMPORT_SYS w肵ĂȂ̂ŃrhG[ɂȂ܂j
    default
            UJI_APPVER = $(string "0.00")
            export
    export
    #
    # vCXg[dlivCXg[o[W̎w肪Kv FPREINSTALL_VER=CZ1j
    #
    #   ZA1: C-ARM{́iCTR{́AvCXg[AT[rX̂L-Guidej
    #   ZA2: S-ARM{ (SPR{́AvCXg[AC-ARM̌p)
    #   CZ1: dnɂĈقȂ̂ŁAʓr܂Ƃ߂
    #
    if $(defined PREINSTALL_VER)
            switch $(PREINSTALL_VER)
            case ZA1
                    CARM=true
                    IMPORT_SYS = arm/$(UJI_REGION)
                    switch $(UJI_REGION)
                    case EUR_DEV
                            IMPORT_SYS_DAT = s_eu.dat
                            UJI_APPVER = $(string "4.02")
                            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_eu.rsf
                            export
                    export
            case ZA2
                    CARM=true
                    IMPORT_SYS = arm/$(UJI_REGION)
                    switch $(UJI_REGION)
                    case EUR_DEV
                            IMPORT_SYS_DAT = s_eu.dat
                            UJI_APPVER = $(string "5.02")
                            ROM_SPEC_FILE = $(SPECFILES_ROOT)/import_eu.rsf
                            export
                    export
            default
                    PREINSTALL=true
                    # OɃfBNgpӂĂȂƃrhG[ɂȂ܂
                    IMPORT_PRE = pre/$(UJI_REGION)/$(PREINSTALL_VER)
                    switch $(UJI_REGION)
                    case JPN
                            IMPORT_PRE_DAT = p_jp.dat
                            EXT_SAVE_DATA_NUMBER  = 0x00000082
                            export
                    case USA
                            IMPORT_PRE_DAT = p_us.dat
                            EXT_SAVE_DATA_NUMBER  = 0x0000008f
                            export
                    case EUR
                            IMPORT_PRE_DAT = p_eu.dat
                            EXT_SAVE_DATA_NUMBER  = 0x00000098
                            export
                    case KOR
                            IMPORT_PRE_DAT = p_kr.dat
                            EXT_SAVE_DATA_NUMBER  = 0x000000a9
                            export
                    case CHN
                            IMPORT_PRE_DAT = p_cn.dat
                            EXT_SAVE_DATA_NUMBER  = 0x000000a1
                            export
                    case TWN
                            IMPORT_PRE_DAT = p_tw.dat
                            EXT_SAVE_DATA_NUMBER  = 0x000000b1
                            export
                    export
            export

    #
    # ċNLiTestList.hREBOOTtOŃV[PXO/X؂ւĂ܂j
    #
    if $(PREINSTALL)
            REBOOT=true
            export
    if $(CARM)
            REBOOT=true
            export

    EVA_IMPORT=true
    CCFLAGS += -DEVA_IMPORT=$(EVA_IMPORT) -DUJI_REGION=$(quote $(UJI_REGION))
    CCFLAGS += -DPREINSTALL=$(PREINSTALL) -DREBOOT=$(REBOOT)
    CCFLAGS += -DCARM=$(CARM) -DCHN_KOR=$(CHN_KOR)
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Import.desc

    # UJI_APPTYPE == IMPORT  UJI_REGION != KMC ̏ꍇ̂݁A݃f[^ ROM ɃRs[
    if $(equal $(UJI_REGION), KMC)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/$(IMPORT_SYS_DAT)               $(ROMFS_ROOT_MISC)/PackageVersion.dat
    elseif $(equal $(UJI_REGION), UPDATE_ONLY)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/*.cia                           $(ROMFS_ROOT_IMPORT)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/TitleList.txt                   $(ROMFS_ROOT_MISC)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/DefaultTitleList.txt            $(ROMFS_ROOT_MISC)
    else
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/*.cia                           $(ROMFS_ROOT_IMPORT)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_SYS)/$(IMPORT_SYS_DAT)               $(ROMFS_ROOT_MISC)/PackageVersion.dat

    # A؍dlɌATWLtHg
    if $(equal $(UJI_REGION), KOR )
            cp -f $(CTR_IMPORT_FILES_DIR)/twl/TWLFontTable_KR_09052700.dat              $(ROMFS_ROOT_MISC)/TWLFontTable.dat
    if $(equal $(UJI_REGION), CHN )
            cp -f $(CTR_IMPORT_FILES_DIR)/twl/TWLFontTable_CN_09052700.dat              $(ROMFS_ROOT_MISC)/TWLFontTable.dat

    # vCXg[ɂ͈ȉ̃t@Cs܂
    if $(PREINSTALL)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_PRE)/*.cia                           $(ROMFS_ROOT_IMPORT)
            cp -f $(CTR_IMPORT_FILES_DIR)/$(IMPORT_PRE)/SaveData.dat                    $(ROMFS_ROOT_MISC)
            # PreInstallVersion.dat ̖ɃvCXg[o[WǋL
            f1 = $(fopen $(CTR_IMPORT_FILES_DIR)/$(IMPORT_PRE)/$(IMPORT_PRE_DAT), r)
            f2 = $(fopen $(ROMFS_ROOT_MISC)/PackageVersion.dat, a)
            lseek($(f2), 0, SEEK_END)
            write($(f2), -)
            write($(f2), $(read $(f1), 16))
            close($(f2))
            close($(f1))
    export



#
#vvZX`FbN HID:USER([Ww肵ărhKv :omake UJI_APPTYPE=PRE_PROCCHK UJI_REGION=JPN )
#
if $(equal $(UJI_APPTYPE), PRE_PROCCHK)
    PRE_PROCCHK_DEV=0
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial2.rsf
    switch $(UJI_REGION)
    case JPN
            UJI_APPVER = $(string "1.20")
            export
    case JPN_DEV
            UJI_APPVER = $(string "1.10")
            PRE_PROCCHK_DEV=1
            export
    case USA
            UJI_APPVER = $(string "1.00")
            export
    case USA_DEV
            UJI_APPVER = $(string "1.00")
            PRE_PROCCHK_DEV=1
            export
    case EUR
            UJI_APPVER = $(string "1.00")
            export
    case EUR_DEV
            UJI_APPVER = $(string "1.00")
            PRE_PROCCHK_DEV=1
            export
    case AUS
            UJI_APPVER = $(string "0.50")
            export
    case AUS_DEV
            UJI_APPVER = $(string "1.00")
            PRE_PROCCHK_DEV=1
            export
    default
            UJI_APPVER = $(string "0.00")
            export
    EVA_PRE_PROCCHK=1
    CCFLAGS += -DEVA_PRE_PROCCHK=$(EVA_PRE_PROCCHK) -DUJI_REGION=$(quote $(UJI_REGION)) -DPRE_PROCCHK_DEV=$(PRE_PROCCHK_DEV)
    UJI_SAVEARCHIVE=$(string "data:")
    export
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_PreProcChk.desc

#
#vZX`FbN HID:USER([Ww肵ărhKv :omake UJI_APPTYPE=PROCCHK UJI_REGION=JPN
#                                                            omake UJI_APPTYPE=PROCCHK UJI_REGION=JPN PROCCHK_TARGET=FLOWER )
#
# USAdl:BRA,LT2,ASI,MDE
# EURdl:AUS
#  2.10 {̐ݒ̊mFǉ
#  2.20 SlidePadÕ`FbNǉ
#  2.30 ^b`plx̃O
#  4.00 SDK 2.3.4Ή
#  4.10 vCXg[Ή(CHECK PREINSTALL SD)
#  4.20 SPFL̏ꍇ́A3D{[
#  4.30 vCXg[Ή(CHECK PREINSTALL VERSION)
#  5.00 0.16.22Ή, SDJ[hhĂȂ`FbNǉ
#  5.10 SDeʃ`FbN̒ǉAvCXg[dl̃`FbNǉ
#  5.11 {̎API̍XV
#  5.20 CTR/FLOWER̐؂ւ@\ǉ
#  5.21 V[PX\ɂAV[PXCHECK FIRSTLAUNCH FLAG
#  5.22 PASS/NG\ʂɁAQRR[h\@\ǉ
#  5.30 OConfigp[^S@틤ʂɁBLINEQCŌÕ`FbNΏۂʂɁB
#       _~[Ő@\S@틤ʂɁB
#       e@CAL̒l܂Ƃ߂ConfigɗpӁB
if $(equal $(UJI_APPTYPE), PROCCHK)
    PROCCHK_DEV=0
    PROCCHK_PRE_INSTALL=0
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial4.rsf
    switch $(UJI_REGION)
    case JPN
            UJI_APPVER = $(string "5.30")
            PROCCHK_PRE_INSTALL=1
            export
    case JPN_DEV
            UJI_APPVER = $(string "5.00")
            PROCCHK_DEV=1
            export
    case USA
            UJI_APPVER = $(string "5.30")
            PROCCHK_PRE_INSTALL=1
            export
    case USA_DEV
            UJI_APPVER = $(string "5.00")
            PROCCHK_DEV=1
            export
    case EUR
            UJI_APPVER = $(string "5.30")
            PROCCHK_PRE_INSTALL=1
            export
    case EUR_DEV
            UJI_APPVER = $(string "5.00")
            PROCCHK_DEV=1
            export
    case EUR_DEV_ZA1
            UJI_APPVER = $(string "4.30")
            PROCCHK_DEV=1
            PROCCHK_PRE_INSTALL=1
            export
    case KOR
            UJI_APPVER = $(string "5.30")
            PROCCHK_PRE_INSTALL=1
            export
    case TWN
            UJI_APPVER = $(string "5.30")
            PROCCHK_PRE_INSTALL=1
            export
    case CHN
            UJI_APPVER = $(string "5.21")
            PROCCHK_PRE_INSTALL=1
            export
    default
            UJI_APPVER = $(string "4.30")
            export

    EVA_PROCCHK=true

    #vbgtH[̔
    if $(not $(defined PROCCHK_TARGET))
        PROCCHK_TARGET=false
        CCFLAGS += -DPROCCHK_FLOWER=0
        export

    if $(equal $(PROCCHK_TARGET), FLOWER)
        CCFLAGS += -DPROCCHK_FLOWER=1
        export

    CCFLAGS += -DEVA_PROCCHK=$(EVA_PROCCHK) -DUJI_REGION=$(quote $(UJI_REGION)) -DPROCCHK_DEV=$(PROCCHK_DEV) -DPROCCHK_PRE_INSTALL=$(PROCCHK_PRE_INSTALL)

    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_ProcChk.desc
    export

#
#
#x
#
#  5.03 {̎API̐؂ւ
if $(equal $(UJI_APPTYPE), ACC)
    UJI_APPVER = $(UJI_APPVER_ACC)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_ACC=true
    CCFLAGS += -DEVA_ACC=$(EVA_ACC)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device01.desc
    export

#
#J[h
#
#  4.00 SDK 2.3.4Ή
#  5.01 ResetSettingǉ
if $(equal $(UJI_APPTYPE), REENTRY)
    UJI_APPVER = $(UJI_APPVER_REENTRY)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial4.rsf
    EVA_REENTRY=true
    CCFLAGS += -DEVA_REENTRY=$(EVA_REENTRY)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device02.desc
    export

#
#o׌f[^W\tg
#
if $(equal $(UJI_APPTYPE), COLLECT)
    UJI_APPVER = $(UJI_APPVER_COLLECT)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial_NoBackup1.rsf
    EVA_COLLECT=true
    CCFLAGS += -DEVA_COLLECT=$(EVA_COLLECT)
    UJI_SAVEARCHIVE=$(string "sdmc:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Collect.desc
    export

#
#Cpj[\tg
#
#  5.20 FTRΉiECHO CANCELǉj
#  5.21 Camera Parallax@\̒ǉ
#       SC̗v]󂯂āuSOUND -> Speaker Testv̍ڂ폜
if $(equal $(UJI_APPTYPE), REPAIR)
    UJI_APPVER = $(UJI_APPVER_REPAIR)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_REPAIR=true
    CCFLAGS += -DEVA_REPAIR=$(EVA_REPAIR)
    FTR_ACC_GYRO=true
    CCFLAGS += -DFTR_ACC_GYRO=$(FTR_ACC_GYRO)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Repair.desc
    export

#
#LCDimF\tg
#
if $(equal $(UJI_APPTYPE), LCD_Q)
    UJI_APPVER = $(UJI_APPVER_LCD_Q)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial0.rsf
    EVA_LCD_Q=true
    CCFLAGS += -DEVA_LCD_Q=$(EVA_LCD_Q)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Lcd.desc
    export

#
#JZppLCD
#
if $(equal $(UJI_APPTYPE), LCD_RED)
    UJI_APPVER = $(UJI_APPVER_LCD_RED)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/lcd_red.rsf
    EVA_LCD_RED=true
    CCFLAGS += -DEVA_LCD_RED=$(EVA_LCD_RED)
    UJI_SAVEARCHIVE=$(string "data:")
    #X[vΉ
    EVA_ENABLE_SLEEP=true
    CCFLAGS += -DEVA_ENABLE_SLEEP=$(EVA_ENABLE_SLEEP)
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_LcdTest_Red.desc
    export

#
#CAL2CFGN\tgiSCΉj
#
#  5.00 FTRΉiECHO CANCELǉjArsfdesc"Repair"̂̂𗬗p
#  5.01 Camera ParallaxiCAL2CFG{̕]j[@\j̒ǉ
#       SC̗v]󂯂āuSOUND -> Speaker Testv̍ڂ폜
if $(equal $(UJI_APPTYPE), CAL2CFG)
    UJI_APPVER = $(UJI_APPVER_CAL2CFG)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_CAL2CFG=true
    CCFLAGS += -DEVA_CAL2CFG=$(EVA_CAL2CFG)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Repair.desc
    export

#
#CAL2CFGN\tgiC-ARMpj
#
if $(equal $(UJI_APPTYPE), CAL2CFG_CARM)
    UJI_APPVER = $(UJI_APPVER_CAL2CFG_CARM)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/cal2cfg.rsf
    EVA_CAL2CFG=true
    EVA_CAL2CFG_CARM=true
    CCFLAGS += -DEVA_CAL2CFG=$(EVA_CAL2CFG) -DEVA_CAL2CFG_CARM=$(EVA_CAL2CFG_CARM)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Cal2Cfg.desc
    export

#
#kbcL[iSPFLΉjsvBl[pɎcĂ邾Ȃ̂łł폜OKB
#
if $(equal $(UJI_APPTYPE), SPFL_LCD_AND_KEY)
    UJI_APPVER = $(UJI_APPVER_SPFL_LCD_AND_KEY)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_LCD_AND_KEY=true
    CCFLAGS += -DEVA_LCD_AND_KEY=$(EVA_LCD_AND_KEY)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Lcdandkey.desc
    export

#
#kbcW[iSPFLΉjsvBl[pɎcĂ邾Ȃ̂łł폜OKB
#
if $(equal $(UJI_APPTYPE), SPFL_LCD_MODULE)
    UJI_APPVER = $(UJI_APPVER_SPFL_LCD_MODULE)
    EVA_LCD_MODULE=true
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial0.rsf
    CCFLAGS += -DEVA_LCD_MODULE=$(EVA_LCD_MODULE)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Lcd.desc
    export

#
#^b`plPi
#
if $(equal $(UJI_APPTYPE), TP_MODULE)
    UJI_APPVER = $(UJI_APPVER_TP_MODULE)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/trial3.rsf
    EVA_TP_MODULE=true
    CCFLAGS += -DEVA_TP_MODULE=$(EVA_TP_MODULE)
    EVA_TP=true
    CCFLAGS += -DEVA_TP=$(EVA_TP)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Device01.desc
    export


#
#AvWv\tgiCARDNANDj߁u\tgNv
#
if $(equal $(UJI_APPTYPE), APP_JUMP)
    UJI_APPVER = $(UJI_APPVER_APP_JUMP)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/appJump.rsf
    CTR_BANNER_SPEC  = import.bsf
    EVA_APP_I=true
    CCFLAGS += -DEVA_APP_I=$(EVA_APP_I)
    EVA_APP_JUMP=true
    CCFLAGS += -DEVA_APP_JUMP=$(EVA_APP_JUMP)
    UJI_SAVEARCHIVE=$(string "data:")
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_AgingImporter.desc
    export

#
#AvC|[^iG[WOC|[^̎dg݂𗘗pj߁u\tg݁v
#
#  1.01 ݑΏۖiCOMPOSITE_APP_NAMEj̕\@\ǉ
#  1.02 1.01ǂāAݑΏۂ̖̂ƃo[WiIMPORTEE_PRG_NAME, IMPORTEE_PRG_VERj\A
#       ܂Aꂼ̓eRtBOɐ荞CRClɔf悤ɕύX
#  1.03 desct@Cւ
#  1.04 RtBOIMPORTEE_PRG_NAMEIMPORTEE_PRG_VERCRCliIPNCrc8IPVCrc8jǉ
#       IMPORTEE_PRG_NAMEIMPORTEE_PRG_VERςĂRtBOCRClҒʂωȂ
#  1.05 OKObZ[WCRClL^
if $(equal $(UJI_APPTYPE), APP_I)
    UJI_APPVER = $(UJI_APPVER_APP_I)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/app_i.rsf
    CTR_BANNER_SPEC  = import.bsf
    EVA_APP_I=true
    CCFLAGS += -DEVA_APP_I=$(EVA_APP_I)
    UJI_SAVEARCHIVE=$(string "data:")

    # AvP[ViFTRŁjC|[gꍇ
    if $(defined IMPORT_COMPOSITE_FTR)
        IMPORTEE_PRG_NAME       = $(string "COMP_FTR")
        IMPORTEE_PRG_VER        = $(UJI_APPVER_COMPOSITE_FTR)
        export

    # AvP[ViCTR/SPRŁjC|[gꍇ
    if $(defined IMPORT_COMPOSITE_CTR)
        IMPORTEE_PRG_NAME       = $(string "COMP_CTR")
        IMPORTEE_PRG_VER        = $(UJI_APPVER_COMPOSITE_CTR)
        export

    CCFLAGS += -DIMPORTEE_PRG_NAME=$(IMPORTEE_PRG_NAME) -DIMPORTEE_PRG_VER=$(IMPORTEE_PRG_VER)
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_AgingImporter.desc
    export

#
#AvP[ViFTRŁj
#
#  1.00 xAAJ܂ށB
#  1.01 SPTPALCDL[ǉBX[vǉBiM-DP2AH-PP1ɓj
#  1.02 xɍXViȂ̉A臒l̕ύXj
#  1.03 J̏C
#       ␳FuNJ[hł̌ɑΉBBeEF摜̕ۑSDJ[h{̓HeapɕύX
#  1.04 desct@C̍ւ
#  1.05 ʗp̖̂ƃo[W\Lj[ʂɒǉ
#  1.06 x}NGôߖ\tg
#  1.07 JiIݒlύXAjALCD&Keyi̕ύXAjXV
#  1.08 xEJiQC̏CfjASP&TPiē̏ύXjALCD&KeyiʕύXAjXV
#  1.09 J␳EJXV
#  1.10 J␳EJXV
if $(equal $(UJI_APPTYPE), COMPOSITE_FTR)
    UJI_APPVER = $(UJI_APPVER_COMPOSITE_FTR)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/composite.rsf

    # ------------------------------
    # ̂ƃo[W
    IMPORTEE_PRG_NAME       = $(string "COMP_FTR")
    IMPORTEE_PRG_VER        = $(UJI_APPVER_COMPOSITE_FTR)
    CCFLAGS += -DIMPORTEE_PRG_NAME=$(IMPORTEE_PRG_NAME) -DIMPORTEE_PRG_VER=$(IMPORTEE_PRG_VER)
    # ------------------------------

    # ----------
    # COMPOSITE
    EVA_COMPOSITE=true
    EVA_COMPOSITE_FTR=true
    EVA_ENABLE_SLEEP=true
    CCFLAGS += -DEVA_COMPOSITE=$(EVA_COMPOSITE)
    CCFLAGS += -DEVA_COMPOSITE_FTR=$(EVA_COMPOSITE_FTR)
    CCFLAGS += -DEVA_ENABLE_SLEEP=$(EVA_ENABLE_SLEEP)
    # ----------
    # SP&TP
    EVA_SP_AND_TP=true
    LOGCHECK_CPU_BOARD=true
    EVA_SLIDEPAD_AUTO=true
    EVA_TOUCHPANEL_AUTO=$(EVA_SLIDEPAD_AUTO)
    CCFLAGS += -DEVA_SP_AND_TP=$(EVA_SP_AND_TP)
    CCFLAGS += -DLOGCHECK_CPU_BOARD=$(LOGCHECK_CPU_BOARD)
    CCFLAGS += -DEVA_SLIDEPAD_AUTO=$(EVA_SLIDEPAD_AUTO)
    CCFLAGS += -DEVA_TOUCHPANEL_AUTO=$(EVA_TOUCHPANEL_AUTO)
    # ----------
    # LCD&KEY
    EVA_LCD_AND_KEY=true
    FTR_ACC_GYRO=true
    CCFLAGS += -DFTR_ACC_GYRO=$(FTR_ACC_GYRO)
    CCFLAGS += -DEVA_LCD_AND_KEY=$(EVA_LCD_AND_KEY)
    # ----------
    # ACC
    EVA_ACC=true
    CCFLAGS += -DEVA_ACC=$(EVA_ACC)
    # ----------
    # WIRELESS&AUDIO
    EVA_WL_AUDIO=true
    CCFLAGS += -DEVA_WL_AUDIO=$(EVA_WL_AUDIO)
    # ----------
    # CAM PARALLAX
    EVA_PARALLAX=true
    CCFLAGS += -DEVA_PARALLAX=$(EVA_PARALLAX)
    # ----------
    # CAM CAPTURE
    EVA_CAM_CAPTURE = true
    CCFLAGS += -DEVA_CAM_CAPTURE=$(EVA_CAM_CAPTURE)
    # ----------
    # CAMERA&I/F
    EVA_CAM_AND_IF = true
    CCFLAGS += -DEVA_CAM_AND_IF=$(EVA_CAM_AND_IF)
    # ----------
    UJI_SAVEARCHIVE=$(string "sdmc:")
    CTR_APPTYPE = BOTH
    DESCRIPTOR          = $(DESCFILES_ROOT)/HwCheck_Mix01.desc
    export

#
#AvP[ViCTR/SPRŁj
#
#  1.00 XChpbh␳ALCD&KeyA^b`pl␳AI/FAAxA
#       }CNAWCAJOUTAJAJIN܂ށBi\j
if $(equal $(UJI_APPTYPE), COMPOSITE_CTR)
    UJI_APPVER = $(UJI_APPVER_COMPOSITE_CTR)
    ROM_SPEC_FILE = $(SPECFILES_ROOT)/composite.rsf

    # ------------------------------
    # ̂ƃo[W
    IMPORTEE_PRG_NAME       = $(string "COMP_CTR")
    IMPORTEE_PRG_VER        = $(UJI_APPVER_COMPOSITE_CTR)
    CCFLAGS += -DIMPORTEE_PRG_NAME=$(IMPORTEE_PRG_NAME) -DIMPORTEE_PRG_VER=$(IMPORTEE_PRG_VER)
    # ------------------------------

    # ----------
    # COMPOSITE
    EVA_COMPOSITE=true
    EVA_COMPOSITE_CTR=true
    EVA_ENABLE_SLEEP=true
    CCFLAGS += -DEVA_COMPOSITE=$(EVA_COMPOSITE)
    CCFLAGS += -DEVA_COMPOSITE_CTR=$(EVA_COMPOSITE_CTR)
    CCFLAGS += -DEVA_ENABLE_SLEEP=$(EVA_ENABLE_SLEEP)
    # ----------
    # SLIDEPAD, SLIDEPAD_AUTO
    EVA_SLIDEPAD=true
    EVA_SLIDEPAD_AUTO=true
    LOGCHECK_CPU_BOARD=true
    CCFLAGS += -DEVA_SLIDEPAD=$(EVA_SLIDEPAD)
    CCFLAGS += -DEVA_SLIDEPAD_AUTO=$(EVA_SLIDEPAD_AUTO)
    CCFLAGS += -DLOGCHECK_CPU_BOARD=$(LOGCHECK_CPU_BOARD)
    # ----------
    # LCD&KEY
    EVA_LCD_AND_KEY=true
    FTR_ACC_GYRO=true
    CCFLAGS += -DEVA_LCD_AND_KEY=$(EVA_LCD_AND_KEY)
    CCFLAGS += -DFTR_ACC_GYRO=$(FTR_ACC_GYRO)
    # ----------
    # TP
    EVA_TP=true
    CCFLAGS += -DEVA_TP=$(EVA_TP)
    # ----------
    # INTERFACE
    EVA_INTERFACE=true
    CCFLAGS += -DEVA_INTERFACE=$(EVA_INTERFACE)
    # ----------
    # WIRELESS
    EVA_WIRELESS=true
    CCFLAGS += -DEVA_WIRELESS=$(EVA_WIRELESS)
    # ----------
    # ACC
    EVA_ACC=true
    CCFLAGS += -DEVA_ACC=$(EVA_ACC)
    # ----------
    # OCAM
    EVA_OCAM=true
    CCFLAGS += -DEVA_OCAM=$(EVA_OCAM)
    # ----------
    # CAM PARALLAX
    EVA_PARALLAX=true
    CCFLAGS += -DEVA_PARALLAX=$(EVA_PARALLAX)
    # ----------
    # ICAM
    EVA_ICAM=true
    CCFLAGS += -DEVA_ICAM=$(EVA_ICAM)
    # ----------
    UJI_SAVEARCHIVE=$(string "sdmc:")
    CTR_APPTYPE = BOTH
    DESCRIPTOR          = $(CTRSDK_ROOT)/resources/specfiles/private/HwCheckProgram.desc #ŏIIɂ͌̍i荞݂KvI
    export

if $(defined FTR_ACC)
    FTR_ACC_GYRO=true
    CCFLAGS += -DFTR_ACC_GYRO=$(FTR_ACC_GYRO)
    export


# ܂Ł^Av̐ݒ
#------------------------------------------------------------


# rh\[XR[hw肵܂B
SOURCES[] =
            main.cpp
            Application.cpp
            sys/sys_App.cpp
            sys/sys_AppType.cpp
            sys/sys_GraphicsDrawing.cpp
            sys/sys_AbstractApplication.cpp
            sys/sys_Memory.cpp
            sys/sys_Window.cpp
            sys/sys_WindowManager.cpp
            sys/sys_MessageLogWindow.cpp
            sys/sys_TextWindow.cpp
            sys/sys_PadButtonImpl.cpp
            sys/sys_Pad.cpp
            sys/sys_Menu.cpp
            sys/sys_InputTextWindow.cpp
            sys/sys_ShowMessage.cpp
            sys/sys_BmpTexture.cpp
            sys/sys_GenerateFileName.cpp
            sys/sys_IniFile.cpp
            sys/demo_RenderSystemUji.cpp
            sys/sys_Panic.cpp
            sys/sys_GetMacAddress.cpp
            sys/sys_GetSerialNumber.cpp
            sys/sys_JpegTexture.cpp
            sys/sys_JpegDrawer.cpp
            sys/sys_Wait.cpp
            sys/sys_Sleep.cpp
            sys/sys_GetBondingOption.cpp
            sys/sys_GetRegionCode.cpp
            sys/sys_PowerButton.cpp
            sys/sys_WriteSerialNumber.cpp
            sys/sys_GetPlatform.cpp
            seq/TestList.cpp
            seq/TestListManager.cpp
            seq/TestSample.cpp
            seq/Config.cpp
            seq/TestSequencer.cpp
            seq/TestResult.cpp
            seq/CalcCrc.cpp
            seq/TesterLog/TesterLog.cpp
            seq/TesterLog/ProductionLog.cpp
            seq/TesterLog/ProductionLogTestFunc.cpp
            seq/TesterLog/ProductionLogDummy.cpp
            seq/TesterLog/ProductionLogViewer.cpp
            seq/TesterLog/InspectLog.cpp
            seq/TesterLog/InspectLog_Viewer.cpp
            seq/TesterLog/InspectLog_TestFunc.cpp
            seq/PortChecker.cpp
            seq/CommC2T.cpp
            seq/CommCamera.cpp
            seq/Reception_board_interface.cpp
            seq/Reception_camera.cpp
            eva/demo/demo_window.cpp
            eva/camera/TestCamera.cpp
            eva/camera/EvaCamera.cpp
            eva/camera/SeqCamera.cpp
            eva/camera/SeqInCamera.cpp
            eva/camera/TestCamAndIF.cpp
            eva/camera/TestCameraCapture.cpp
            eva/camera/lpng1513/png.c
            eva/camera/lpng1513/pngerror.c
            eva/camera/lpng1513/pngmem.c
            eva/camera/lpng1513/pngset.c
            eva/camera/lpng1513/pngtrans.c
            eva/camera/lpng1513/pngwio.c
            eva/camera/lpng1513/pngwrite.c
            eva/camera/lpng1513/pngwtran.c
            eva/camera/lpng1513/pngwutil.c
            eva/camera/zlib-1.2.7/adler32.c
            eva/camera/zlib-1.2.7/crc32.c
            eva/camera/zlib-1.2.7/deflate.c
            eva/camera/zlib-1.2.7/inflate.c
            eva/camera/zlib-1.2.7/inffast.c
            eva/camera/zlib-1.2.7/inftrees.c
            eva/camera/zlib-1.2.7/trees.c
            eva/camera/zlib-1.2.7/zutil.c
            eva/camera/StereoCameraChecker/graphics.cpp
            eva/camera/StereoCameraChecker/key_manager.cpp
            eva/camera/StereoCameraChecker/camera_manager.cpp
            eva/camera/StereoCameraChecker/scene_setting.cpp
            eva/camera/StereoCameraChecker/tp_manager.cpp
            eva/camera/StereoCameraChecker/y2r_manager.cpp
            eva/key/TestKey.cpp
            eva/analogkey/TestAnalogStick.cpp
            eva/analogkey/EvaAnalogStick.cpp
            eva/analogkey/LytAnalogStick.cpp
            eva/analogkey/CalAnalogStick.cpp
            eva/analogkey/TestExecuteAnalogStick.cpp
            eva/wireless/TestWireless.cpp
            eva/wireless/CommandUtil.cpp
            eva/wireless/UDS_Lib.cpp
            eva/wireless/TestWirelessMenu.cpp
            eva/wireless/TestUDSforGyro.cpp
            eva/wireless/TestWirelessForSC.cpp
            eva/wireless/TestMp.cpp
            eva/wlaudio/TestWlAudio.cpp
            eva/wlaudio/TestWlAudioMenu.cpp
            eva/TouchPanel/TestTouchPanel.cpp
            eva/lcd/TestLcd.cpp
            eva/lcd/TestLcdQuality.cpp
            eva/lcd/TestLcd_RED.cpp
            eva/lcd/TestLcdTraining.cpp
            eva/lcd/TestLcdMenu.cpp
            eva/mic/mic_Lib.cpp
            eva/mic/mic_Eva.cpp
            eva/mic/mic_SamplingGraph.cpp
            eva/mic/mic_TesterRegister.cpp
            eva/mic/mic_TesterCommand.cpp
            eva/mic/mic_BoardInterface.cpp
            eva/mic/mic_TesterCalibrator.cpp
            eva/mic/mic_Tester.cpp
            eva/cardspi/EvaCardSpi.cpp
            eva/gyro/gyro_ControllerRegister.cpp
            eva/gyro/gyro_Controller.cpp
            eva/gyro/gyro_ExtReader.cpp
            eva/gyro/gyro_GraphDrawing.cpp
            eva/gyro/gyro_EvaSampling.cpp
            eva/gyro/gyro_EvaSampling_forF.cpp
            eva/gyro/gyro_UdsClient.cpp
            eva/gyro/gyro_UdsMaster.cpp
            eva/gyro/gyro_MasterFunction.cpp
            eva/gyro/gyro_ClientTestFunction.cpp
            eva/gyro/gyro_Logger.cpp
            eva/gyro/gyro_ShockTester.cpp
            eva/gyro/gyro_AgingTester.cpp
            eva/gyro/gyro_EvaMenu.cpp
            eva/accelerator/TestAcc.cpp
            eva/misc/TestAttest.cpp
            eva/misc/TestHWInfo.cpp
            eva/misc/TestWriteProductionLogSolo.cpp
            eva/misc/TestExtractCpuBoard.cpp
            eva/misc/TestResetSetting.cpp
            eva/misc/TestReentry.cpp
            sys/sys_SoundPlayer.cpp
            eva/codec/TestCodec.cpp
            eva/codec/EvaCodec.cpp
            eva/import/Import.cpp
            eva/import/IrComm.cpp
            eva/import/IrComm_Thread.cpp
            eva/import/TcpComm.cpp
            eva/import/TcpComm_Thread.cpp
            eva/import/TcpComm_Connect.cpp
            eva/import/TcpComm_Printf.cpp
            eva/import/TcpComm_Signature.cpp
            eva/import/TcpComm_Command.cpp
            eva/import/TcpComm_TestFunc.cpp
            eva/import/TcpComm_Ascii.cpp
            eva/import/TcpComm_SystemMenuDesc.cpp
            eva/import/TcpComm_Demo.cpp
            eva/import/TestImport.cpp
            eva/import/TestExecuteImport.cpp
            eva/mcu/TestMcu.cpp
            eva/mcu/TestRtc.cpp
            eva/mcu/mcu_Menu.cpp
            eva/mcu/McuInitializer.cpp
            eva/mcu/TestMcuNotification.cpp
            eva/mcu/TestPowerOff.cpp
            eva/mcuport/McuPort.cpp
            eva/nand/TestNand.cpp
            eva/nand/EvaNand.cpp
            eva/sound/TestSound.cpp
            eva/sound/EvaSound.cpp
            eva/sound/NWSound.cpp
            eva/sound/SoundInitializer.cpp
            eva/sound/CSound.cpp
            eva/ir/TestIr.cpp
            sec/CalMenu.cpp
            sec/CfgMenu.cpp
            sec/FileViewer.cpp
            sec/Cal2Cfg.cpp
            eva/gpu/gpu_Eva.cpp
            eva/backlight/BackLightTest.cpp
            eva/sd/TestSd.cpp
            eva/volume/EvaVolume.cpp
            eva/procchk/ProcessCheck.cpp
            sec/cal/TestCal.cpp
            eva/Collect/CollectLogData.cpp
            eva/aging/AgingImporter.cpp
            eva/aging/AgingSequencer.cpp
            eva/backup/TestBackup.cpp
            eva/ai/ApplicationImporter.cpp
            eva/accelerator/CheckLimit0_1G.cpp
            eva/accelerator/CheckStability.cpp
            eva/accelerator/ShowAccTestPassage.cpp
            eva/accelerator/TestAccTool.cpp
            eva/accelerator/WaitButtonR.cpp
            eva/accelerator/WriteAccDataToSD.cpp
            eva/wifi/TestEepRom.cpp
            eva/wifi/TestWifi.cpp
            eva/wifi/TestMitsumiWifi.cpp
            sys/TesterCommunication/CheckSum.cpp
            sys/TesterCommunication/Ir.cpp
            sys/TesterCommunication/Packet.cpp
            sys/TesterCommunication/Reply.cpp
            sys/TesterCommunication/TestStatus.cpp
            sys/TesterCommunication/TestTrace.cpp
            sys/TesterCommunication/Util.cpp
            sys/TesterCommunication/Convert.cpp

# GPUeXgL̂݃rh
if $(defined EVA_ENABLE_GPUTEST)
    SOURCES[] +=
            eva/gpu/gpu_TestMain.cpp
            eva/gpu/Common/DisplaySystem.cpp
            eva/gpu/Common/Allocator.cpp
            eva/gpu/Common/File.cpp
            eva/gpu/Common/Util.cpp
            eva/gpu/Common/Vecalg.cpp
            eva/gpu/Common/Tga.cpp
            eva/gpu/Common/Loader.cpp
            eva/gpu/ClipEquation/ClipEquation.cpp
            eva/gpu/Fog/Fog.cpp
            eva/gpu/GasCessna/GasCessna.cpp
            eva/gpu/GasCessna/Gas.cpp
            eva/gpu/GasCessna/GasData.cpp
            eva/gpu/GasColorOptimal/Gas.cpp
            eva/gpu/GasColorOptimal/GasColorOptimal.cpp
            eva/gpu/GasColorSimple/Gas.cpp
            eva/gpu/GasColorSimple/GasColorSimple.cpp
            eva/gpu/LightingAniso/LightingAniso.cpp
            eva/gpu/LightingDistanceAtte/LightingDistanceAtte.cpp
            eva/gpu/LightingFresnel/LightingFresnel.cpp
            eva/gpu/LightingMicrofacet/LightingMicrofacet.cpp
            eva/gpu/LightingSpotAtte/LightingSpotAtte.cpp
            eva/gpu/LightingSss/LightingSss.cpp
            eva/gpu/LightingToonApple/LightingToonApple.cpp
            eva/gpu/LightingVertex/LightingVertex.cpp
            eva/gpu/LineSimple/LineSimple.cpp
            eva/gpu/PartsysGas/Gas.cpp
            eva/gpu/PartsysGas/PartsysGas.cpp
            eva/gpu/PartsysSimple/PartsysSimple.cpp
            eva/gpu/PointSprite/PointSprite.cpp
            eva/gpu/ProctexClamp/ProctexClamp.cpp
            eva/gpu/ProctexFFunction/ProctexFFunction.cpp
            eva/gpu/ProctexGFunction/ProctexGFunction.cpp
            eva/gpu/ProctexRandom/ProctexRandom.cpp
            eva/gpu/ShadowKnot/ShadowKnot.cpp
            eva/gpu/ShadowKnotCube/ShadowKnotCube.cpp
            eva/gpu/SilhouetteSimple/SilhouetteSimple.cpp
            eva/gpu/SubdivisionLoop/SubdivisionLoop.cpp
            eva/gpu/SubdivisionLoopSimple/SubdivisionLoopSimple.cpp
            eva/gpu/SubdivisionSimple/SubdivisionSimple.cpp
            eva/gpu/AlphaTest/AlphaTest.cpp
            eva/gpu/LogicOp/LogicOp.cpp
            eva/gpu/PipelineTest/PipelineTest.cpp
            eva/gpu/StencilTestFunc/StencilTestFunc.cpp
            eva/gpu/StencilTestOp/StencilTestOp.cpp
            eva/gpu/TextureAll/TextureAll.cpp
    export

# TvdemoCu
INCLUDES[]           += $(SAMPLED_DEMOS_COMMON_INCLUDE_DIR)
LIBS += lib_demo

# ǉ郉Cuw肵܂.
LIBS += libnn_math libnn_camera libnn_y2r libnn_crypto
LIBS += libnn_mic libnn_nwm libnn_uds
#LIBS += libnn_dsp libnn_dspsnd
LIBS += libnn_codec
LIBS += libnn_mcu libnn_ir libnn_mp
LIBS += libnn_driversCal libnn_crypto libnn_driversEeprom libnn_i2c libmw_qre
LIBS += libnn_csnd
LIBS += libnn_ps
LIBS += libnn_am libnn_ns libnn_snd

NW_LIBRARIES[] += libnw_demo
NW_LIBRARIES[] += libnw_snd libnw_io libnw_os libnw_ut# snd_demolib
#NW_LIBRARIES[] += lyt_demolib

# \[XR[h̃CN[hpXw肵܂B
INCLUDES[] += $(NW_INCLUDES) ./sys
INCLUDES[] += $(NW4C_ROOT)/demos/lyt/demolib/include
#INCLUDES[] += $(NW4C_ROOT)/demos/snd/demolib/include
INCLUDES[] += ./eva/gpu/Common

# vOw肵܂B
TARGET_PROGRAM      =   CTRTrial

#
# CAEgCu֘A
#
NW4C_LAYOUT_ARCHIVER = $(NW4C_ROOT)/tools/LayoutEditor/Converter/NW4C_LayoutArchiver.exe
NW4C_LAYOUT_CONVERTER = $(NW4C_ROOT)/tools/LayoutEditor/Converter/NW4C_LayoutConverter.exe

public.LayoutBinary(outdir, sources) =
    $(outdir): $(sources)
        rm -rf $(outdir)
        mkdir -p $(outdir)
        $(NW4C_LAYOUT_CONVERTER) $(sources) $(outdir)
    return $(outdir)

public.LayoutArchive(outfile, indir) =
    $(outfile):
        mkdir -p $(dirname $@)
        CREATE_SUBDIRS = true
        .SUBDIRS: $(indir)
            $(NW4C_LAYOUT_ARCHIVER) -c . $@
    return $(outfile)

public.LayoutResources(rootDir) =
    SHADER_ROOT = $(NW4C_ROOT)/shaders/
    LYT_SHADER_FILES = $(addprefix $(SHADER_ROOT), $(NW_LYT_SHADER_NAMES))
    OFILES[] =
    foreach(file, $(LYT_SHADER_FILES))
        OUTPUT = $(rootDir)/shaders/$(basename $(file))
        OFILES[] += $(OUTPUT)
        $(OUTPUT): $(file)
            mkdir -p $(dirname $@)
            cp $< $@
        export OFILES
    return $(OFILES)

# ʂ̏ꍇdataȉɒu
#SAMPLE_FONTS[] =
#    $(file data/commonRes/font/sample.bcfnt)
#    $(file data/commonRes/font/sample.bcfna)

#COMMON_RESOURCES[] = $(SAMPLE_FONTS)

public.SetupScript(script, outputDir, files) =
    OFILES = $(addprefix $(outputDir)$(DIRSEP), $(files))
    $(OFILES):
#$(COMMON_RESOURCES)
        $(script)
    return $(OFILES)
#
# ܂Ł^CAEgCu֘A
#

SHADER_BIN          =   nwfont_RectDrawerShader.shbin

# ROMɊ܂߂t@C̃[gLq܂B
# ̃pXȉ̃t@ĆAROMɊ܂܂t@CVXeǂݍ߂܂B
ROMFS_ROOT              = data/romfiles
ROMFS_ROOT_SYS          = $(ROMFS_ROOT)/sys
ROMFS_ROOT_KEY          = $(ROMFS_ROOT)/key
ROMFS_ROOT_SLIDEPAD     = $(ROMFS_ROOT)/slidepad
ROMFS_ROOT_BIN          = $(ROMFS_ROOT)/bin
ROMFS_ROOT_WAV          = $(ROMFS_ROOT)/snd
ROMFS_ROOT_BCWAV        = $(ROMFS_ROOT)/bcwav
ROMFS_ROOT_SNDPLAYER    = $(ROMFS_ROOT)/SoundPlayer
#ROMFS_ROOT_IMPORT       = $(ROMFS_ROOT)/import #Oq
#ROMFS_ROOT_MISC         = $(ROMFS_ROOT)/misc   #Oq

#
# bcwav̍쐬
#
WAVE_CONVERTER      =   $(CTRSDK_ROOT)/tools/CommandLineTools/ctr_WaveConverter32.exe
public.GetBcwav(indir, outdir, filename, ext, format) =
    IN_WAVE_PATH    =   $(indir)/$(filename).$(ext)
    OUT_BCWAV_PATH  =   $(outdir)/$(filename).$(format).bcwav
    $(OUT_BCWAV_PATH): $(IN_WAVE_PATH) $(WAVE_CONVERTER)
        $(WAVE_CONVERTER) --$(format) $(IN_WAVE_PATH) -o $(OUT_BCWAV_PATH)
    return $(OUT_BCWAV_PATH)

BCWAV_FILE_SINE     =   $(GetBcwav $(ROMFS_ROOT_WAV), $(ROMFS_ROOT_BCWAV), LR_SIN_16bit_1000Hz, wav, pcm16)
BCWAV_FILE_ANNOTAT  =   $(GetBcwav $(ROMFS_ROOT_SNDPLAYER), $(ROMFS_ROOT_BCWAV), annotation, wav, pcm16)
BCWAV_FILE_OK       =   $(GetBcwav $(ROMFS_ROOT_SNDPLAYER), $(ROMFS_ROOT_BCWAV), ok, wav, pcm16)
BCWAV_FILE_NG       =   $(GetBcwav $(ROMFS_ROOT_SNDPLAYER), $(ROMFS_ROOT_BCWAV), ng, wav, pcm16)

#
# ܂Ł^bcwav̍쐬
#

# t@C̒ǉ
OBJECTS =
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_BIN)/sin440.pcm16.32k.1.bin)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_WAV)/LR_SIN_16bit_1000Hz.wav)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_WAV)/Ctr_Mset_BGM_4sec.wav)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_BCWAV)/LR_SIN_16bit_1000Hz.pcm16.bcwav)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_BCWAV)/annotation.pcm16.bcwav)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_BCWAV)/ok.pcm16.bcwav)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT_BCWAV)/ng.pcm16.bcwav)

# IuWFNgt@CƂăN摜f[^
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT)/jpeg/ShockTest.jpg)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT)/jpeg/Pass.jpg)
OBJECTS += $`(ObjectFromBinary $(TARGET), $(ROMFS_ROOT)/jpeg/Fail.jpg)


ROMFS_FILES[] =

SYS_SHADER_PATH         =  $(ROMFS_ROOT_SYS)/$(SHADER_BIN)
ROMFS_FILES[]           += $(SYS_SHADER_PATH)

ROMFS_FILES[]           += $(LayoutResources $(ROMFS_ROOT))
ROMFS_FILES[]           += $(SetupScript ./eva/key/setup.bat, $(ROMFS_ROOT_KEY), layout.arc)
ROMFS_FILES[]           += $(SetupScript ./eva/analogkey/setup.bat, $(ROMFS_ROOT_SLIDEPAD), slidepad.arc)

#ROMFS_FILES[]           += $(BCWAV_FILE_SINE)

ROMFS_DEPENDENCIES      = $(ROMFS_FILES)


# SDJ[hNvOi.cia쐬ꍇ)́ALL
#CTR_APPTYPE            = BOTH

#TufBNg
if $(defined EVA_ENABLE_GPUTEST)
    .SUBDIRS: $(exist-dirs          \
                eva                 \
                )
    export

# TODO:Lqꏊv
EVA_KEY_ROOT            = eva/key

#------------------------------------------------------------
#ǉbbIvV
# --diag_suppress       w肵ԍ̌x\ɂ
#                       1301: \̂Padding}
#                       2530: \̂̍ŌPadding}

CCFLAGS += -DUJI_APPVER=$(UJI_APPVER) -DUJI_SAVEARCHIVE=$(UJI_SAVEARCHIVE)
CCFLAGS += -DUJI_APPTYPE=$(quote $(UJI_APPTYPE))
CCFLAGS += -DEXT_SAVE_DATA_NUMBER=$(EXT_SAVE_DATA_NUMBER)

# revision rum̍ŐVrW擾Ăhmht@Cɂ܂B
REVISION_INI = data/romfiles/ini/revision.ini

#.PHONY: revision
#revision:
#    svn info . | grep "Revision:" | sed -e "s/Revision: /REVISION=/g" | perl -pe 's/\n/\r\n/' > $(REVISION_INI)



# clean
.PHONY: clean

clean:
    rm -rf $(EVA_KEY_ROOT)/objects $(ROMFS_ROOT_KEY) $(REVISION_INI)
    rm -rf $(ROMFS_ROOT_BCWAV)
    rm -rf ./eva/analogkey/objects $(ROMFS_ROOT_SLIDEPAD)
    rm -rf $(ROMFS_ROOT_IMPORT)
    rm -rf $(ROMFS_ROOT_MISC)
    touch  ./.clean_flag


# pdesct@C
# DESCRIPTOR          = $(CTRSDK_ROOT)/resources/specfiles/HwCheckProgram.desc


include $(CTRSDK_ROOT)/build/omake/modulerules

#build: revision $(DEFAULT_TARGETS)
build: $(DEFAULT_TARGETS)

$(SYS_SHADER_PATH): $(NW4C_ROOT)/shaders/$(SHADER_BIN)
    mkdir -p $(dirname $@)
    cp $< $@

#
# junglecrowp̃vÔ܂B
#
.BUILD_SUCCESS:
    include ./kenjiRename_defs.om

