@echo off
:-
:-  Boom builder for SMT 5.0a0
:-  Generated by iMatix Boom from standard.pwl
:-  
:-  Copyright (c) 1996-2009 iMatix Corporation
:-  All rights reserved.
:-  
:-  This file is licensed under the BSD license as follows:
:-  
:-  Redistribution and use in source and binary forms, with or without
:-  modification, are permitted provided that the following conditions
:-  are met:
:-  
:-  * Redistributions of source code must retain the above copyright
:-    notice, this list of conditions and the following disclaimer.
:-  * Redistributions in binary form must reproduce the above copyright
:-    notice, this list of conditions and the following disclaimer in
:-    the documentation and/or other materials provided with the
:-    distribution.
:-  * Neither the name of iMatix Corporation nor the names of its
:-    contributors may be used to endorse or promote products derived
:-    from this software without specific prior written permission.
:-  
:-  THIS SOFTWARE IS PROVIDED BY IMATIX CORPORATION "AS IS" AND ANY
:-  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
:-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
:-  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IMATIX CORPORATION BE
:-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
:-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
:-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
:-  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
:-  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
:-  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
:-  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
:-
:-  Start CMD.EXE version detection
verify other 2>nul
setlocal enableextensions
if errorlevel 0 goto __cmd_ok
echo %0: This command requires command extensions version 2 in CMD.EXE.  
echo %0: Please use a supported system (Windows 2000 or newer).
exit
:__cmd_ok
setlocal enabledelayedexpansion
:-  End CMD.EXE version detection
goto :init
:-
:-  Subroutine: boom_model_init
:-  Initialises BOOM_MODEL to default if not set
:-  Expands BOOM_MODEL components into individual environment variables
:-
:boom_model_init
if "!BOOM_MODEL!"=="" (
    set BOOM_MODEL=release,st
)
set BOOM_MODEL__PLACEHOLDER=1
for /f "usebackq delims==" %%v in (`set BOOM_MODEL_`) do set %%v=
set BOOM_MODEL__PLACEHOLDER=
for %%m in (!BOOM_MODEL!) do set BOOM_MODEL_%%m=1
:-  If the user set BOOM_MODEL but did not include release/debug or st/mt
:-  set these to defaults.
if not "!BOOM_MODEL_RELEASE!"=="1" (
    if not "!BOOM_MODEL_DEBUG!"=="1" (
        set BOOM_MODEL_RELEASE=1
        set BOOM_MODEL=!BOOM_MODEL!,release
    )
)
if not "!BOOM_MODEL_ST!"=="1" (
    if not "!BOOM_MODEL_MT!"=="1" (
        set BOOM_MODEL_ST=1
        set BOOM_MODEL=!BOOM_MODEL!,st
    )
)
goto :eof
:init
setlocal
:-
:-  Set environment variables to point to install location
:-  Start by using final IBASE, then handle -install path
set self=%0
set MY_VERSION=5.0a0
set OLDPATH=!PATH!
set OLDPERLLIB=!PERLLIB!
if .!IBASE!==. (
    echo boom E: [SMT]: The IBASE variable is not set.             Please set it to the location where SMT should be installed.
    exit /b 1
)
if .%1==.-v (
    set BOOM_TRACE=1
    shift
)
call :boom_model_init
if .%1==.-install goto tempinst
:-  Normal use, use IBASE
    set PATH=!IBASE!\bin;!PATH!
    set PERLLIB=!IBASE!\bin;!PERLLIB!
    set INCDIR_ALT=!IBASE!\include
    set _INSTALL_ROOT=!IBASE!
    goto process

:tempinst
:-  Building product, we use -install directory first, then IBASE
    if not exist %2 (
       echo "Invalid command syntax - please contact imatix-tech"
       exit /b 1
    )
    pushd %2
    set _LOCAL_BASE=!cd!
    popd
    set PATH=!_LOCAL_BASE!\bin;!IBASE!\bin;!PATH!
    set PERLLIB=!_LOCAL_BASE!\bin;!IBASE!\bin;!PERLLIB!
    set INCDIR_ALT=!_LOCAL_BASE!\include;!IBASE!\include
    set _INSTALL_ROOT=!_LOCAL_BASE!
    shift
    shift
    goto process

:batch
    shift

:process
    set state=initial
    set event=ok
    set debug=0
    goto s_!state!

:---------------------------   BUILD BINARY FILES   ---------------------------

:a_build_binary_files
    echo boom I: [SMT]: Building SMT...
    if "!MSVCDir!"=="" set MSVCDir=C:\Program Files\Microsoft Visual Studio\VC98
    if not exist "!MSVCDir!\bin" (
        echo boom E: [SMT]: Cannot find MSVC compiler in !MSVCdir!.
        echo boom E: [SMT]: Please set MSVCDir environment variable to VC98 directory.
        set _exception=1
        goto :eof
    )
    set INCDIR=
    set LIBDIR=
    if "!BOOM_TRACE!"=="1" (
        set MY_COPTS=-v
    ) else (
        set MY_COPTS=-q
    )
    if not "!_LOCAL_BASE!"=="" (
        set MY_COPTS=!MY_COPTS! -li !_LOCAL_BASE!\include -ll !_LOCAL_BASE!\lib
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method_test
    verify>nul
    call c !MY_COPTS! smt_method_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method
    verify>nul
    call c !MY_COPTS! smt_method
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method_queue_test
    verify>nul
    call c !MY_COPTS! smt_method_queue_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method_queue_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method_queue
    verify>nul
    call c !MY_COPTS! smt_method_queue
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method_queue' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method_list_test
    verify>nul
    call c !MY_COPTS! smt_method_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_method_list
    verify>nul
    call c !MY_COPTS! smt_method_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_method_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread_test
    verify>nul
    call c !MY_COPTS! smt_os_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread
    verify>nul
    call c !MY_COPTS! smt_os_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread_by_status_test
    verify>nul
    call c !MY_COPTS! smt_os_thread_by_status_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread_by_status_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread_by_status
    verify>nul
    call c !MY_COPTS! smt_os_thread_by_status
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread_by_status' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread_list_test
    verify>nul
    call c !MY_COPTS! smt_os_thread_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_os_thread_list
    verify>nul
    call c !MY_COPTS! smt_os_thread_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_os_thread_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_test
    verify>nul
    call c !MY_COPTS! smt_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread
    verify>nul
    call c !MY_COPTS! smt_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_by_status_test
    verify>nul
    call c !MY_COPTS! smt_thread_by_status_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_by_status_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_by_status
    verify>nul
    call c !MY_COPTS! smt_thread_by_status
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_by_status' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_list_test
    verify>nul
    call c !MY_COPTS! smt_thread_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_list
    verify>nul
    call c !MY_COPTS! smt_thread_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_queue_test
    verify>nul
    call c !MY_COPTS! smt_thread_queue_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_queue_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_thread_queue
    verify>nul
    call c !MY_COPTS! smt_thread_queue
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_thread_queue' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_fileio_test
    verify>nul
    call c !MY_COPTS! smt_fileio_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_fileio_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_fileio
    verify>nul
    call c !MY_COPTS! smt_fileio
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_fileio' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_fileio_request_test
    verify>nul
    call c !MY_COPTS! smt_fileio_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_fileio_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_fileio_request
    verify>nul
    call c !MY_COPTS! smt_fileio_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_fileio_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request_test
    verify>nul
    call c !MY_COPTS! smt_timer_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request
    verify>nul
    call c !MY_COPTS! smt_timer_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request_list_test
    verify>nul
    call c !MY_COPTS! smt_timer_request_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request_list
    verify>nul
    call c !MY_COPTS! smt_timer_request_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request_by_thread_test
    verify>nul
    call c !MY_COPTS! smt_timer_request_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_timer_request_by_thread
    verify>nul
    call c !MY_COPTS! smt_timer_request_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_timer_request_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_test
    verify>nul
    call c !MY_COPTS! smt_socket_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket
    verify>nul
    call c !MY_COPTS! smt_socket
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request_test
    verify>nul
    call c !MY_COPTS! smt_socket_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request
    verify>nul
    call c !MY_COPTS! smt_socket_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request_by_thread_test
    verify>nul
    call c !MY_COPTS! smt_socket_request_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request_by_thread
    verify>nul
    call c !MY_COPTS! smt_socket_request_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request_by_socket_test
    verify>nul
    call c !MY_COPTS! smt_socket_request_by_socket_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request_by_socket_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_socket_request_by_socket
    verify>nul
    call c !MY_COPTS! smt_socket_request_by_socket
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_socket_request_by_socket' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_position_test
    verify>nul
    call c !MY_COPTS! smt_position_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_position_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_position
    verify>nul
    call c !MY_COPTS! smt_position
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_position' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_position_list_test
    verify>nul
    call c !MY_COPTS! smt_position_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_position_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_position_list
    verify>nul
    call c !MY_COPTS! smt_position_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_position_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal_test
    verify>nul
    call c !MY_COPTS! smt_signal_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal
    verify>nul
    call c !MY_COPTS! smt_signal
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal_table_test
    verify>nul
    call c !MY_COPTS! smt_signal_table_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal_table_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal_table
    verify>nul
    call c !MY_COPTS! smt_signal_table
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal_table' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal_by_thread_test
    verify>nul
    call c !MY_COPTS! smt_signal_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_signal_by_thread
    verify>nul
    call c !MY_COPTS! smt_signal_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_signal_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_coremark_agent
    verify>nul
    call c !MY_COPTS! smt_coremark_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_coremark_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_coremark_test
    verify>nul
    call c !MY_COPTS! smt_coremark_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_coremark_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_coremark
    verify>nul
    call c !MY_COPTS! smt_coremark
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_coremark' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_log_agent
    verify>nul
    call c !MY_COPTS! smt_log_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_log_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_log_test
    verify>nul
    call c !MY_COPTS! smt_log_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_log_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_log
    verify>nul
    call c !MY_COPTS! smt_log
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_log' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_test
    verify>nul
    call c !MY_COPTS! smt_demo_portal_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal
    verify>nul
    call c !MY_COPTS! smt_demo_portal
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_client_agent
    verify>nul
    call c !MY_COPTS! smt_demo_portal_client_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_client_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_client_test
    verify>nul
    call c !MY_COPTS! smt_demo_portal_client_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_client_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_client
    verify>nul
    call c !MY_COPTS! smt_demo_portal_client
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_client' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_server_agent
    verify>nul
    call c !MY_COPTS! smt_demo_portal_server_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_server_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_server_test
    verify>nul
    call c !MY_COPTS! smt_demo_portal_server_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_server_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_portal_server
    verify>nul
    call c !MY_COPTS! smt_demo_portal_server
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_portal_server' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_echo
    verify>nul
    call c !MY_COPTS! smt_echo
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_echo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! tstnull
    verify>nul
    call c !MY_COPTS! tstnull
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! tstnull' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! tstsock
    verify>nul
    call c !MY_COPTS! tstsock
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! tstsock' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_timer
    verify>nul
    call c !MY_COPTS! smt_demo_timer
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_timer' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object_agent
    verify>nul
    call c !MY_COPTS! smt_demo_object_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object_test
    verify>nul
    call c !MY_COPTS! smt_demo_object_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object
    verify>nul
    call c !MY_COPTS! smt_demo_object
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object_action_agent
    verify>nul
    call c !MY_COPTS! smt_demo_object_action_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object_action_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object_action_test
    verify>nul
    call c !MY_COPTS! smt_demo_object_action_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object_action_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_object_action
    verify>nul
    call c !MY_COPTS! smt_demo_object_action
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_object_action' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_server
    verify>nul
    call c !MY_COPTS! smt_demo_server
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_server' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! smt_demo_client
    verify>nul
    call c !MY_COPTS! smt_demo_client
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! smt_demo_client' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_method
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_method
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_method' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_method_queue
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_method_queue
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_method_queue' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_method_list
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_method_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_method_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_os_thread
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_os_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_os_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_os_thread_by_status
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_os_thread_by_status
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_os_thread_by_status' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_os_thread_list
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_os_thread_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_os_thread_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_thread
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_thread_by_status
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_thread_by_status
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_thread_by_status' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_thread_list
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_thread_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_thread_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_thread_queue
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_thread_queue
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_thread_queue' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_fileio
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_fileio
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_fileio' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_fileio_request
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_fileio_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_fileio_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_timer_request
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_timer_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_timer_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_timer_request_list
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_timer_request_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_timer_request_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_timer_request_by_thread
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_timer_request_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_timer_request_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_socket
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_socket
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_socket' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_socket_request
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_socket_request
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_socket_request' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_socket_request_by_thread
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_socket_request_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_socket_request_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_socket_request_by_socket
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_socket_request_by_socket
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_socket_request_by_socket' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_position
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_position
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_position' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_position_list
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_position_list
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_position_list' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_signal
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_signal
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_signal' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_signal_table
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_signal_table
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_signal_table' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_signal_by_thread
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_signal_by_thread
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_signal_by_thread' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_coremark_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_coremark_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_coremark_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_coremark
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_coremark
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_coremark' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_log_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_log_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_log_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_log
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_log
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_log' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_portal
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_portal
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_portal' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_portal_client_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_portal_client_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_portal_client_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_portal_client
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_portal_client
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_portal_client' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_portal_server_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_portal_server_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_portal_server_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_portal_server
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_portal_server
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_portal_server' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_object_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_object_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_object_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_object
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_object
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_object' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_object_action_agent
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_object_action_agent
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_object_action_agent' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_object_action
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_object_action
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_object_action' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -r libsmt.lib smt_demo_server
    verify>nul
    call c !MY_COPTS! -r libsmt.lib smt_demo_server
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -r libsmt.lib smt_demo_server' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_method_test
    verify>nul
    call c !MY_COPTS! -L smt_method_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_method_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_method_queue_test
    verify>nul
    call c !MY_COPTS! -L smt_method_queue_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_method_queue_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_method_list_test
    verify>nul
    call c !MY_COPTS! -L smt_method_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_method_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_os_thread_test
    verify>nul
    call c !MY_COPTS! -L smt_os_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_os_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_os_thread_by_status_test
    verify>nul
    call c !MY_COPTS! -L smt_os_thread_by_status_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_os_thread_by_status_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_os_thread_list_test
    verify>nul
    call c !MY_COPTS! -L smt_os_thread_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_os_thread_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_thread_test
    verify>nul
    call c !MY_COPTS! -L smt_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_thread_by_status_test
    verify>nul
    call c !MY_COPTS! -L smt_thread_by_status_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_thread_by_status_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_thread_list_test
    verify>nul
    call c !MY_COPTS! -L smt_thread_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_thread_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_thread_queue_test
    verify>nul
    call c !MY_COPTS! -L smt_thread_queue_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_thread_queue_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_fileio_test
    verify>nul
    call c !MY_COPTS! -L smt_fileio_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_fileio_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_fileio_request_test
    verify>nul
    call c !MY_COPTS! -L smt_fileio_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_fileio_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_timer_request_test
    verify>nul
    call c !MY_COPTS! -L smt_timer_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_timer_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_timer_request_list_test
    verify>nul
    call c !MY_COPTS! -L smt_timer_request_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_timer_request_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_timer_request_by_thread_test
    verify>nul
    call c !MY_COPTS! -L smt_timer_request_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_timer_request_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_socket_test
    verify>nul
    call c !MY_COPTS! -L smt_socket_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_socket_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_socket_request_test
    verify>nul
    call c !MY_COPTS! -L smt_socket_request_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_socket_request_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_socket_request_by_thread_test
    verify>nul
    call c !MY_COPTS! -L smt_socket_request_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_socket_request_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_socket_request_by_socket_test
    verify>nul
    call c !MY_COPTS! -L smt_socket_request_by_socket_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_socket_request_by_socket_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_position_test
    verify>nul
    call c !MY_COPTS! -L smt_position_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_position_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_position_list_test
    verify>nul
    call c !MY_COPTS! -L smt_position_list_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_position_list_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_signal_test
    verify>nul
    call c !MY_COPTS! -L smt_signal_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_signal_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_signal_table_test
    verify>nul
    call c !MY_COPTS! -L smt_signal_table_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_signal_table_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_signal_by_thread_test
    verify>nul
    call c !MY_COPTS! -L smt_signal_by_thread_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_signal_by_thread_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_coremark_test
    verify>nul
    call c !MY_COPTS! -L smt_coremark_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_coremark_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_log_test
    verify>nul
    call c !MY_COPTS! -L smt_log_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_log_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_portal_test
    verify>nul
    call c !MY_COPTS! -L smt_demo_portal_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_portal_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_portal_client_test
    verify>nul
    call c !MY_COPTS! -L smt_demo_portal_client_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_portal_client_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_portal_server_test
    verify>nul
    call c !MY_COPTS! -L smt_demo_portal_server_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_portal_server_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_echo
    verify>nul
    call c !MY_COPTS! -L smt_echo
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_echo' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L tstnull
    verify>nul
    call c !MY_COPTS! -L tstnull
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L tstnull' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L tstsock
    verify>nul
    call c !MY_COPTS! -L tstsock
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L tstsock' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_timer
    verify>nul
    call c !MY_COPTS! -L smt_demo_timer
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_timer' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_object_test
    verify>nul
    call c !MY_COPTS! -L smt_demo_object_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_object_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_object_action_test
    verify>nul
    call c !MY_COPTS! -L smt_demo_object_action_test
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_object_action_test' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo c !MY_COPTS! -L smt_demo_client
    verify>nul
    call c !MY_COPTS! -L smt_demo_client
    if errorlevel 1 (
        echo boom E: [SMT]: 'c !MY_COPTS! -L smt_demo_client' failed - stop.
        set _exception=1
        goto :eof
    )
    goto :eof

:--------------------------   BUILD SOURCE PACKAGES   -------------------------

:a_build_source_packages
   if exist _package.lst del _package.lst
    if exist smt\version.h echo smt\version.h>>_package.lst
    if exist smt\icl_smt.gsl echo smt\icl_smt.gsl>>_package.lst
    if exist smt\smt_object.xnf echo smt\smt_object.xnf>>_package.lst
    if exist smt\smt_object.icl echo smt\smt_object.icl>>_package.lst
    if exist smt\smt_object_gen.gsl echo smt\smt_object_gen.gsl>>_package.lst
    if exist smt\smt_object_preproc.gsl echo smt\smt_object_preproc.gsl>>_package.lst
    if exist smt\smt_object_inherit.gsl echo smt\smt_object_inherit.gsl>>_package.lst
    if exist smt\smt_object_parse.gsl echo smt\smt_object_parse.gsl>>_package.lst
    if exist smt\smt_object_doc.txt echo smt\smt_object_doc.txt>>_package.lst
    if exist smt\smt_object_tracker.icl echo smt\smt_object_tracker.icl>>_package.lst
    if exist smt\smt.xnf echo smt\smt.xnf>>_package.lst
    if exist smt\smt_gen.gsl echo smt\smt_gen.gsl>>_package.lst
    if exist smt\smt_preproc.gsl echo smt\smt_preproc.gsl>>_package.lst
    if exist smt\smt_inherit.gsl echo smt\smt_inherit.gsl>>_package.lst
    if exist smt\smt_parse.gsl echo smt\smt_parse.gsl>>_package.lst
    if exist smt\smt_doc.txt echo smt\smt_doc.txt>>_package.lst
    if exist smt\smt_stdc.gsl echo smt\smt_stdc.gsl>>_package.lst
    if exist smt\smt_doc.gsl echo smt\smt_doc.gsl>>_package.lst
    if exist smt\smt_classes.pdl echo smt\smt_classes.pdl>>_package.lst
    if exist smt\smt_method.icl echo smt\smt_method.icl>>_package.lst
    if exist smt\smt_method_queue.icl echo smt\smt_method_queue.icl>>_package.lst
    if exist smt\smt_method_list.icl echo smt\smt_method_list.icl>>_package.lst
    if exist smt\smt_os_thread.icl echo smt\smt_os_thread.icl>>_package.lst
    if exist smt\smt_os_thread_by_status.icl echo smt\smt_os_thread_by_status.icl>>_package.lst
    if exist smt\smt_os_thread_list.icl echo smt\smt_os_thread_list.icl>>_package.lst
    if exist smt\smt_thread.icl echo smt\smt_thread.icl>>_package.lst
    if exist smt\smt_thread_by_status.icl echo smt\smt_thread_by_status.icl>>_package.lst
    if exist smt\smt_thread_list.icl echo smt\smt_thread_list.icl>>_package.lst
    if exist smt\smt_thread_queue.icl echo smt\smt_thread_queue.icl>>_package.lst
    if exist smt\smt_fileio.icl echo smt\smt_fileio.icl>>_package.lst
    if exist smt\smt_fileio_request.icl echo smt\smt_fileio_request.icl>>_package.lst
    if exist smt\smt_timer_request.icl echo smt\smt_timer_request.icl>>_package.lst
    if exist smt\smt_timer_request_list.icl echo smt\smt_timer_request_list.icl>>_package.lst
    if exist smt\smt_timer_request_by_thread.icl echo smt\smt_timer_request_by_thread.icl>>_package.lst
    if exist smt\smt_socket.icl echo smt\smt_socket.icl>>_package.lst
    if exist smt\smt_socket_request.icl echo smt\smt_socket_request.icl>>_package.lst
    if exist smt\smt_socket_request_by_thread.icl echo smt\smt_socket_request_by_thread.icl>>_package.lst
    if exist smt\smt_socket_request_by_socket.icl echo smt\smt_socket_request_by_socket.icl>>_package.lst
    if exist smt\smt_position.icl echo smt\smt_position.icl>>_package.lst
    if exist smt\smt_position_list.icl echo smt\smt_position_list.icl>>_package.lst
    if exist smt\smt_signal.icl echo smt\smt_signal.icl>>_package.lst
    if exist smt\smt_signal_table.icl echo smt\smt_signal_table.icl>>_package.lst
    if exist smt\smt_signal_by_thread.icl echo smt\smt_signal_by_thread.icl>>_package.lst
    if exist smt\smt_coremark.icl echo smt\smt_coremark.icl>>_package.lst
    if exist smt\smt_log.icl echo smt\smt_log.icl>>_package.lst
    if exist smt\smt_demo_portal.icl echo smt\smt_demo_portal.icl>>_package.lst
    if exist smt\smt_demo_portal_client.icl echo smt\smt_demo_portal_client.icl>>_package.lst
    if exist smt\smt_demo_portal_server.icl echo smt\smt_demo_portal_server.icl>>_package.lst
    if exist smt\smt_demo_portal_front.icl echo smt\smt_demo_portal_front.icl>>_package.lst
    if exist smt\smt_demo_portal_back.icl echo smt\smt_demo_portal_back.icl>>_package.lst
    if exist smt\smt_echo.smt echo smt\smt_echo.smt>>_package.lst
    if exist smt\tstnull.smt echo smt\tstnull.smt>>_package.lst
    if exist smt\tstsock.smt echo smt\tstsock.smt>>_package.lst
    if exist smt\smt_demo_timer.smt echo smt\smt_demo_timer.smt>>_package.lst
    if exist smt\smt_demo_object.icl echo smt\smt_demo_object.icl>>_package.lst
    if exist smt\smt_demo_object_action.icl echo smt\smt_demo_object_action.icl>>_package.lst
    if exist smt\smt_demo_server.smt echo smt\smt_demo_server.smt>>_package.lst
    if exist smt\smt_demo_client.smt echo smt\smt_demo_client.smt>>_package.lst
    if exist smt\smt.h echo smt\smt.h>>_package.lst
    if exist smt\icl_make_doc.ignore echo smt\icl_make_doc.ignore>>_package.lst
    if exist smt\prelude.pdl echo smt\prelude.pdl>>_package.lst
    if exist smt\license.gpl echo smt\license.gpl>>_package.lst
    if exist smt\project.pdl echo smt\project.pdl>>_package.lst
    if exist smt\readme.txt echo smt\readme.txt>>_package.lst
    if exist smt\smt_method_test.c echo smt\smt_method_test.c>>_package.lst
    if exist smt\smt_method.h echo smt\smt_method.h>>_package.lst
    if exist smt\smt_method.c echo smt\smt_method.c>>_package.lst
    if exist smt\smt_method_queue_test.c echo smt\smt_method_queue_test.c>>_package.lst
    if exist smt\smt_method_queue.h echo smt\smt_method_queue.h>>_package.lst
    if exist smt\smt_method_queue.c echo smt\smt_method_queue.c>>_package.lst
    if exist smt\smt_method_list_test.c echo smt\smt_method_list_test.c>>_package.lst
    if exist smt\smt_method_list.h echo smt\smt_method_list.h>>_package.lst
    if exist smt\smt_method_list.c echo smt\smt_method_list.c>>_package.lst
    if exist smt\smt_os_thread_test.c echo smt\smt_os_thread_test.c>>_package.lst
    if exist smt\smt_os_thread.h echo smt\smt_os_thread.h>>_package.lst
    if exist smt\smt_os_thread.c echo smt\smt_os_thread.c>>_package.lst
    if exist smt\smt_os_thread_by_status_test.c echo smt\smt_os_thread_by_status_test.c>>_package.lst
    if exist smt\smt_os_thread_by_status.h echo smt\smt_os_thread_by_status.h>>_package.lst
    if exist smt\smt_os_thread_by_status.c echo smt\smt_os_thread_by_status.c>>_package.lst
    if exist smt\smt_os_thread_list_test.c echo smt\smt_os_thread_list_test.c>>_package.lst
    if exist smt\smt_os_thread_list.h echo smt\smt_os_thread_list.h>>_package.lst
    if exist smt\smt_os_thread_list.c echo smt\smt_os_thread_list.c>>_package.lst
    if exist smt\smt_thread_test.c echo smt\smt_thread_test.c>>_package.lst
    if exist smt\smt_thread.h echo smt\smt_thread.h>>_package.lst
    if exist smt\smt_thread.c echo smt\smt_thread.c>>_package.lst
    if exist smt\smt_thread_by_status_test.c echo smt\smt_thread_by_status_test.c>>_package.lst
    if exist smt\smt_thread_by_status.h echo smt\smt_thread_by_status.h>>_package.lst
    if exist smt\smt_thread_by_status.c echo smt\smt_thread_by_status.c>>_package.lst
    if exist smt\smt_thread_list_test.c echo smt\smt_thread_list_test.c>>_package.lst
    if exist smt\smt_thread_list.h echo smt\smt_thread_list.h>>_package.lst
    if exist smt\smt_thread_list.c echo smt\smt_thread_list.c>>_package.lst
    if exist smt\smt_thread_queue_test.c echo smt\smt_thread_queue_test.c>>_package.lst
    if exist smt\smt_thread_queue.h echo smt\smt_thread_queue.h>>_package.lst
    if exist smt\smt_thread_queue.c echo smt\smt_thread_queue.c>>_package.lst
    if exist smt\smt_fileio_test.c echo smt\smt_fileio_test.c>>_package.lst
    if exist smt\smt_fileio.h echo smt\smt_fileio.h>>_package.lst
    if exist smt\smt_fileio.c echo smt\smt_fileio.c>>_package.lst
    if exist smt\smt_fileio_request_test.c echo smt\smt_fileio_request_test.c>>_package.lst
    if exist smt\smt_fileio_request.h echo smt\smt_fileio_request.h>>_package.lst
    if exist smt\smt_fileio_request.c echo smt\smt_fileio_request.c>>_package.lst
    if exist smt\smt_timer_request_test.c echo smt\smt_timer_request_test.c>>_package.lst
    if exist smt\smt_timer_request.h echo smt\smt_timer_request.h>>_package.lst
    if exist smt\smt_timer_request.c echo smt\smt_timer_request.c>>_package.lst
    if exist smt\smt_timer_request_list_test.c echo smt\smt_timer_request_list_test.c>>_package.lst
    if exist smt\smt_timer_request_list.h echo smt\smt_timer_request_list.h>>_package.lst
    if exist smt\smt_timer_request_list.c echo smt\smt_timer_request_list.c>>_package.lst
    if exist smt\smt_timer_request_by_thread_test.c echo smt\smt_timer_request_by_thread_test.c>>_package.lst
    if exist smt\smt_timer_request_by_thread.h echo smt\smt_timer_request_by_thread.h>>_package.lst
    if exist smt\smt_timer_request_by_thread.c echo smt\smt_timer_request_by_thread.c>>_package.lst
    if exist smt\smt_socket_test.c echo smt\smt_socket_test.c>>_package.lst
    if exist smt\smt_socket.h echo smt\smt_socket.h>>_package.lst
    if exist smt\smt_socket.c echo smt\smt_socket.c>>_package.lst
    if exist smt\smt_socket_request_test.c echo smt\smt_socket_request_test.c>>_package.lst
    if exist smt\smt_socket_request.h echo smt\smt_socket_request.h>>_package.lst
    if exist smt\smt_socket_request.c echo smt\smt_socket_request.c>>_package.lst
    if exist smt\smt_socket_request_by_thread_test.c echo smt\smt_socket_request_by_thread_test.c>>_package.lst
    if exist smt\smt_socket_request_by_thread.h echo smt\smt_socket_request_by_thread.h>>_package.lst
    if exist smt\smt_socket_request_by_thread.c echo smt\smt_socket_request_by_thread.c>>_package.lst
    if exist smt\smt_socket_request_by_socket_test.c echo smt\smt_socket_request_by_socket_test.c>>_package.lst
    if exist smt\smt_socket_request_by_socket.h echo smt\smt_socket_request_by_socket.h>>_package.lst
    if exist smt\smt_socket_request_by_socket.c echo smt\smt_socket_request_by_socket.c>>_package.lst
    if exist smt\smt_position_test.c echo smt\smt_position_test.c>>_package.lst
    if exist smt\smt_position.h echo smt\smt_position.h>>_package.lst
    if exist smt\smt_position.c echo smt\smt_position.c>>_package.lst
    if exist smt\smt_position_list_test.c echo smt\smt_position_list_test.c>>_package.lst
    if exist smt\smt_position_list.h echo smt\smt_position_list.h>>_package.lst
    if exist smt\smt_position_list.c echo smt\smt_position_list.c>>_package.lst
    if exist smt\smt_signal_test.c echo smt\smt_signal_test.c>>_package.lst
    if exist smt\smt_signal.h echo smt\smt_signal.h>>_package.lst
    if exist smt\smt_signal.c echo smt\smt_signal.c>>_package.lst
    if exist smt\smt_signal_table_test.c echo smt\smt_signal_table_test.c>>_package.lst
    if exist smt\smt_signal_table.h echo smt\smt_signal_table.h>>_package.lst
    if exist smt\smt_signal_table.c echo smt\smt_signal_table.c>>_package.lst
    if exist smt\smt_signal_by_thread_test.c echo smt\smt_signal_by_thread_test.c>>_package.lst
    if exist smt\smt_signal_by_thread.h echo smt\smt_signal_by_thread.h>>_package.lst
    if exist smt\smt_signal_by_thread.c echo smt\smt_signal_by_thread.c>>_package.lst
    if exist smt\smt_coremark_agent.smt echo smt\smt_coremark_agent.smt>>_package.lst
    if exist smt\smt_coremark_agent.h echo smt\smt_coremark_agent.h>>_package.lst
    if exist smt\smt_coremark_agent.c echo smt\smt_coremark_agent.c>>_package.lst
    if exist smt\smt_coremark_test.c echo smt\smt_coremark_test.c>>_package.lst
    if exist smt\smt_coremark.h echo smt\smt_coremark.h>>_package.lst
    if exist smt\smt_coremark.c echo smt\smt_coremark.c>>_package.lst
    if exist smt\smt_log_agent.smt echo smt\smt_log_agent.smt>>_package.lst
    if exist smt\smt_log_agent.h echo smt\smt_log_agent.h>>_package.lst
    if exist smt\smt_log_agent.c echo smt\smt_log_agent.c>>_package.lst
    if exist smt\smt_log_test.c echo smt\smt_log_test.c>>_package.lst
    if exist smt\smt_log.h echo smt\smt_log.h>>_package.lst
    if exist smt\smt_log.c echo smt\smt_log.c>>_package.lst
    if exist smt\smt_demo_portal_test.c echo smt\smt_demo_portal_test.c>>_package.lst
    if exist smt\smt_demo_portal.h echo smt\smt_demo_portal.h>>_package.lst
    if exist smt\smt_demo_portal.c echo smt\smt_demo_portal.c>>_package.lst
    if exist smt\smt_demo_portal_client_agent.smt echo smt\smt_demo_portal_client_agent.smt>>_package.lst
    if exist smt\smt_demo_portal_client_agent.h echo smt\smt_demo_portal_client_agent.h>>_package.lst
    if exist smt\smt_demo_portal_client_agent.c echo smt\smt_demo_portal_client_agent.c>>_package.lst
    if exist smt\smt_demo_portal_client_test.c echo smt\smt_demo_portal_client_test.c>>_package.lst
    if exist smt\smt_demo_portal_client.h echo smt\smt_demo_portal_client.h>>_package.lst
    if exist smt\smt_demo_portal_client.c echo smt\smt_demo_portal_client.c>>_package.lst
    if exist smt\smt_demo_portal_server_agent.smt echo smt\smt_demo_portal_server_agent.smt>>_package.lst
    if exist smt\smt_demo_portal_server_agent.h echo smt\smt_demo_portal_server_agent.h>>_package.lst
    if exist smt\smt_demo_portal_server_agent.c echo smt\smt_demo_portal_server_agent.c>>_package.lst
    if exist smt\smt_demo_portal_server_test.c echo smt\smt_demo_portal_server_test.c>>_package.lst
    if exist smt\smt_demo_portal_server.h echo smt\smt_demo_portal_server.h>>_package.lst
    if exist smt\smt_demo_portal_server.c echo smt\smt_demo_portal_server.c>>_package.lst
    if exist smt\smt_echo.h echo smt\smt_echo.h>>_package.lst
    if exist smt\smt_echo.c echo smt\smt_echo.c>>_package.lst
    if exist smt\tstnull.h echo smt\tstnull.h>>_package.lst
    if exist smt\tstnull.c echo smt\tstnull.c>>_package.lst
    if exist smt\tstsock.h echo smt\tstsock.h>>_package.lst
    if exist smt\tstsock.c echo smt\tstsock.c>>_package.lst
    if exist smt\smt_demo_timer.c echo smt\smt_demo_timer.c>>_package.lst
    if exist smt\smt_demo_timer.h echo smt\smt_demo_timer.h>>_package.lst
    if exist smt\smt_demo_object_agent.smt echo smt\smt_demo_object_agent.smt>>_package.lst
    if exist smt\smt_demo_object_agent.h echo smt\smt_demo_object_agent.h>>_package.lst
    if exist smt\smt_demo_object_agent.c echo smt\smt_demo_object_agent.c>>_package.lst
    if exist smt\smt_demo_object_test.c echo smt\smt_demo_object_test.c>>_package.lst
    if exist smt\smt_demo_object.h echo smt\smt_demo_object.h>>_package.lst
    if exist smt\smt_demo_object.c echo smt\smt_demo_object.c>>_package.lst
    if exist smt\smt_demo_object_action_agent.smt echo smt\smt_demo_object_action_agent.smt>>_package.lst
    if exist smt\smt_demo_object_action_agent.h echo smt\smt_demo_object_action_agent.h>>_package.lst
    if exist smt\smt_demo_object_action_agent.c echo smt\smt_demo_object_action_agent.c>>_package.lst
    if exist smt\smt_demo_object_action_test.c echo smt\smt_demo_object_action_test.c>>_package.lst
    if exist smt\smt_demo_object_action.h echo smt\smt_demo_object_action.h>>_package.lst
    if exist smt\smt_demo_object_action.c echo smt\smt_demo_object_action.c>>_package.lst
    if exist smt\smt_demo_server.h echo smt\smt_demo_server.h>>_package.lst
    if exist smt\smt_demo_server.c echo smt\smt_demo_server.c>>_package.lst
    if exist smt\smt_demo_client.h echo smt\smt_demo_client.h>>_package.lst
    if exist smt\smt_demo_client.c echo smt\smt_demo_client.c>>_package.lst
    if exist smt\stamp_generate echo smt\stamp_generate>>_package.lst
    if exist smt\configure echo smt\configure>>_package.lst
    if exist smt\Makefile.unix echo smt\Makefile.unix>>_package.lst
    if exist smt\boomake echo smt\boomake>>_package.lst
    if exist smt\configure.bat echo smt\configure.bat>>_package.lst
    if exist smt\Makefile.win32 echo smt\Makefile.win32>>_package.lst
    if exist smt\boomake.bat echo smt\boomake.bat>>_package.lst
    if exist smt\boomakew.bat echo smt\boomakew.bat>>_package.lst
    echo "Source package successfully generated">stamp_source
    echo "stamp_source">>_package.lst
    echo boom I: [SMT]: Building SMT-!MY_VERSION!-src.zip...
    zip  -rq _package -@<_package.lst
    unzip -q _package -d SMT-!MY_VERSION!
    if exist  SMT-!MY_VERSION!-src.zip del SMT-!MY_VERSION!-src.zip
    zip -rmq SMT-!MY_VERSION!-src.zip SMT-!MY_VERSION!
    del _package.zip
    del _package.lst
    del stamp_source
    goto :eof

:----------------------   CHECK ALL SOURCE FILES EXIST   ----------------------

:a_check_all_source_files_exist
    if not exist version.h (
        echo boom E: [SMT]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_smt.gsl (
        echo boom E: [SMT]: icl_smt.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.xnf (
        echo boom E: [SMT]: smt_object.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.icl (
        echo boom E: [SMT]: smt_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_gen.gsl (
        echo boom E: [SMT]: smt_object_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_preproc.gsl (
        echo boom E: [SMT]: smt_object_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_inherit.gsl (
        echo boom E: [SMT]: smt_object_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_parse.gsl (
        echo boom E: [SMT]: smt_object_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_doc.txt (
        echo boom E: [SMT]: smt_object_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_tracker.icl (
        echo boom E: [SMT]: smt_object_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.xnf (
        echo boom E: [SMT]: smt.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_gen.gsl (
        echo boom E: [SMT]: smt_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_preproc.gsl (
        echo boom E: [SMT]: smt_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_inherit.gsl (
        echo boom E: [SMT]: smt_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_parse.gsl (
        echo boom E: [SMT]: smt_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.txt (
        echo boom E: [SMT]: smt_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_stdc.gsl (
        echo boom E: [SMT]: smt_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.gsl (
        echo boom E: [SMT]: smt_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_classes.pdl (
        echo boom E: [SMT]: smt_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.icl (
        echo boom E: [SMT]: smt_method.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.icl (
        echo boom E: [SMT]: smt_method_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.icl (
        echo boom E: [SMT]: smt_method_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.icl (
        echo boom E: [SMT]: smt_os_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.icl (
        echo boom E: [SMT]: smt_os_thread_by_status.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.icl (
        echo boom E: [SMT]: smt_os_thread_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.icl (
        echo boom E: [SMT]: smt_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.icl (
        echo boom E: [SMT]: smt_thread_by_status.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.icl (
        echo boom E: [SMT]: smt_thread_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.icl (
        echo boom E: [SMT]: smt_thread_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.icl (
        echo boom E: [SMT]: smt_fileio.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.icl (
        echo boom E: [SMT]: smt_fileio_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.icl (
        echo boom E: [SMT]: smt_timer_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.icl (
        echo boom E: [SMT]: smt_timer_request_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.icl (
        echo boom E: [SMT]: smt_timer_request_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.icl (
        echo boom E: [SMT]: smt_socket.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.icl (
        echo boom E: [SMT]: smt_socket_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.icl (
        echo boom E: [SMT]: smt_socket_request_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.icl (
        echo boom E: [SMT]: smt_socket_request_by_socket.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.icl (
        echo boom E: [SMT]: smt_position.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.icl (
        echo boom E: [SMT]: smt_position_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.icl (
        echo boom E: [SMT]: smt_signal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.icl (
        echo boom E: [SMT]: smt_signal_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.icl (
        echo boom E: [SMT]: smt_signal_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.icl (
        echo boom E: [SMT]: smt_coremark.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.icl (
        echo boom E: [SMT]: smt_log.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.icl (
        echo boom E: [SMT]: smt_demo_portal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.icl (
        echo boom E: [SMT]: smt_demo_portal_client.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.icl (
        echo boom E: [SMT]: smt_demo_portal_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_front.icl (
        echo boom E: [SMT]: smt_demo_portal_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_back.icl (
        echo boom E: [SMT]: smt_demo_portal_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.smt (
        echo boom E: [SMT]: smt_echo.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.smt (
        echo boom E: [SMT]: tstnull.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.smt (
        echo boom E: [SMT]: tstsock.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.smt (
        echo boom E: [SMT]: smt_demo_timer.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.icl (
        echo boom E: [SMT]: smt_demo_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.icl (
        echo boom E: [SMT]: smt_demo_object_action.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.smt (
        echo boom E: [SMT]: smt_demo_server.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.smt (
        echo boom E: [SMT]: smt_demo_client.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.h (
        echo boom E: [SMT]: smt.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [SMT]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [SMT]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [SMT]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_test.c (
        echo boom E: [SMT]: smt_method_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.h (
        echo boom E: [SMT]: smt_method.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.c (
        echo boom E: [SMT]: smt_method.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue_test.c (
        echo boom E: [SMT]: smt_method_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.h (
        echo boom E: [SMT]: smt_method_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.c (
        echo boom E: [SMT]: smt_method_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list_test.c (
        echo boom E: [SMT]: smt_method_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.h (
        echo boom E: [SMT]: smt_method_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.c (
        echo boom E: [SMT]: smt_method_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_test.c (
        echo boom E: [SMT]: smt_os_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.h (
        echo boom E: [SMT]: smt_os_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.c (
        echo boom E: [SMT]: smt_os_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status_test.c (
        echo boom E: [SMT]: smt_os_thread_by_status_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.h (
        echo boom E: [SMT]: smt_os_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.c (
        echo boom E: [SMT]: smt_os_thread_by_status.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list_test.c (
        echo boom E: [SMT]: smt_os_thread_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.h (
        echo boom E: [SMT]: smt_os_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.c (
        echo boom E: [SMT]: smt_os_thread_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_test.c (
        echo boom E: [SMT]: smt_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.h (
        echo boom E: [SMT]: smt_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.c (
        echo boom E: [SMT]: smt_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status_test.c (
        echo boom E: [SMT]: smt_thread_by_status_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.h (
        echo boom E: [SMT]: smt_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.c (
        echo boom E: [SMT]: smt_thread_by_status.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list_test.c (
        echo boom E: [SMT]: smt_thread_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.h (
        echo boom E: [SMT]: smt_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.c (
        echo boom E: [SMT]: smt_thread_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue_test.c (
        echo boom E: [SMT]: smt_thread_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.h (
        echo boom E: [SMT]: smt_thread_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.c (
        echo boom E: [SMT]: smt_thread_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_test.c (
        echo boom E: [SMT]: smt_fileio_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.h (
        echo boom E: [SMT]: smt_fileio.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.c (
        echo boom E: [SMT]: smt_fileio.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request_test.c (
        echo boom E: [SMT]: smt_fileio_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.h (
        echo boom E: [SMT]: smt_fileio_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.c (
        echo boom E: [SMT]: smt_fileio_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_test.c (
        echo boom E: [SMT]: smt_timer_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.h (
        echo boom E: [SMT]: smt_timer_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.c (
        echo boom E: [SMT]: smt_timer_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list_test.c (
        echo boom E: [SMT]: smt_timer_request_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.h (
        echo boom E: [SMT]: smt_timer_request_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.c (
        echo boom E: [SMT]: smt_timer_request_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread_test.c (
        echo boom E: [SMT]: smt_timer_request_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.h (
        echo boom E: [SMT]: smt_timer_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.c (
        echo boom E: [SMT]: smt_timer_request_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_test.c (
        echo boom E: [SMT]: smt_socket_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.h (
        echo boom E: [SMT]: smt_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.c (
        echo boom E: [SMT]: smt_socket.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_test.c (
        echo boom E: [SMT]: smt_socket_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.h (
        echo boom E: [SMT]: smt_socket_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.c (
        echo boom E: [SMT]: smt_socket_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread_test.c (
        echo boom E: [SMT]: smt_socket_request_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.h (
        echo boom E: [SMT]: smt_socket_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.c (
        echo boom E: [SMT]: smt_socket_request_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket_test.c (
        echo boom E: [SMT]: smt_socket_request_by_socket_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.h (
        echo boom E: [SMT]: smt_socket_request_by_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.c (
        echo boom E: [SMT]: smt_socket_request_by_socket.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_test.c (
        echo boom E: [SMT]: smt_position_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.h (
        echo boom E: [SMT]: smt_position.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.c (
        echo boom E: [SMT]: smt_position.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list_test.c (
        echo boom E: [SMT]: smt_position_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.h (
        echo boom E: [SMT]: smt_position_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.c (
        echo boom E: [SMT]: smt_position_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_test.c (
        echo boom E: [SMT]: smt_signal_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.h (
        echo boom E: [SMT]: smt_signal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.c (
        echo boom E: [SMT]: smt_signal.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table_test.c (
        echo boom E: [SMT]: smt_signal_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.h (
        echo boom E: [SMT]: smt_signal_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.c (
        echo boom E: [SMT]: smt_signal_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread_test.c (
        echo boom E: [SMT]: smt_signal_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.h (
        echo boom E: [SMT]: smt_signal_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.c (
        echo boom E: [SMT]: smt_signal_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.smt (
        echo boom E: [SMT]: smt_coremark_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.h (
        echo boom E: [SMT]: smt_coremark_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.c (
        echo boom E: [SMT]: smt_coremark_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_test.c (
        echo boom E: [SMT]: smt_coremark_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.h (
        echo boom E: [SMT]: smt_coremark.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.c (
        echo boom E: [SMT]: smt_coremark.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.smt (
        echo boom E: [SMT]: smt_log_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.h (
        echo boom E: [SMT]: smt_log_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.c (
        echo boom E: [SMT]: smt_log_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_test.c (
        echo boom E: [SMT]: smt_log_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.h (
        echo boom E: [SMT]: smt_log.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.c (
        echo boom E: [SMT]: smt_log.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_test.c (
        echo boom E: [SMT]: smt_demo_portal_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.h (
        echo boom E: [SMT]: smt_demo_portal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.c (
        echo boom E: [SMT]: smt_demo_portal.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.smt (
        echo boom E: [SMT]: smt_demo_portal_client_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.h (
        echo boom E: [SMT]: smt_demo_portal_client_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.c (
        echo boom E: [SMT]: smt_demo_portal_client_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_test.c (
        echo boom E: [SMT]: smt_demo_portal_client_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.h (
        echo boom E: [SMT]: smt_demo_portal_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.c (
        echo boom E: [SMT]: smt_demo_portal_client.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.smt (
        echo boom E: [SMT]: smt_demo_portal_server_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.h (
        echo boom E: [SMT]: smt_demo_portal_server_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.c (
        echo boom E: [SMT]: smt_demo_portal_server_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_test.c (
        echo boom E: [SMT]: smt_demo_portal_server_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.h (
        echo boom E: [SMT]: smt_demo_portal_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.c (
        echo boom E: [SMT]: smt_demo_portal_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.h (
        echo boom E: [SMT]: smt_echo.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.c (
        echo boom E: [SMT]: smt_echo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.h (
        echo boom E: [SMT]: tstnull.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.c (
        echo boom E: [SMT]: tstnull.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.h (
        echo boom E: [SMT]: tstsock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.c (
        echo boom E: [SMT]: tstsock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.c (
        echo boom E: [SMT]: smt_demo_timer.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.h (
        echo boom E: [SMT]: smt_demo_timer.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.smt (
        echo boom E: [SMT]: smt_demo_object_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.h (
        echo boom E: [SMT]: smt_demo_object_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.c (
        echo boom E: [SMT]: smt_demo_object_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_test.c (
        echo boom E: [SMT]: smt_demo_object_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.h (
        echo boom E: [SMT]: smt_demo_object.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.c (
        echo boom E: [SMT]: smt_demo_object.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.smt (
        echo boom E: [SMT]: smt_demo_object_action_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.h (
        echo boom E: [SMT]: smt_demo_object_action_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.c (
        echo boom E: [SMT]: smt_demo_object_action_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_test.c (
        echo boom E: [SMT]: smt_demo_object_action_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.h (
        echo boom E: [SMT]: smt_demo_object_action.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.c (
        echo boom E: [SMT]: smt_demo_object_action.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.h (
        echo boom E: [SMT]: smt_demo_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.c (
        echo boom E: [SMT]: smt_demo_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.h (
        echo boom E: [SMT]: smt_demo_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.c (
        echo boom E: [SMT]: smt_demo_client.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [SMT]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [SMT]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [SMT]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [SMT]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [SMT]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [SMT]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [SMT]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [SMT]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

:------------------------   CHECK BINARY FILES EXIST   ------------------------

:a_check_binary_files_exist
    if not exist icl_smt.gsl (
        echo boom E: [SMT]: icl_smt.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.icl (
        echo boom E: [SMT]: smt_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_gen.gsl (
        echo boom E: [SMT]: smt_object_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_preproc.gsl (
        echo boom E: [SMT]: smt_object_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_inherit.gsl (
        echo boom E: [SMT]: smt_object_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_parse.gsl (
        echo boom E: [SMT]: smt_object_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_tracker.icl (
        echo boom E: [SMT]: smt_object_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_gen.gsl (
        echo boom E: [SMT]: smt_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_preproc.gsl (
        echo boom E: [SMT]: smt_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_inherit.gsl (
        echo boom E: [SMT]: smt_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_parse.gsl (
        echo boom E: [SMT]: smt_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_stdc.gsl (
        echo boom E: [SMT]: smt_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.gsl (
        echo boom E: [SMT]: smt_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_classes.pdl (
        echo boom E: [SMT]: smt_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.smt (
        echo boom E: [SMT]: smt_echo.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.smt (
        echo boom E: [SMT]: tstnull.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.smt (
        echo boom E: [SMT]: tstsock.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.smt (
        echo boom E: [SMT]: smt_demo_server.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.smt (
        echo boom E: [SMT]: smt_demo_client.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist libsmt.lib (
        echo boom E: [SMT]: libsmt.lib is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.h (
        echo boom E: [SMT]: smt.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [SMT]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.h (
        echo boom E: [SMT]: smt_method.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.h (
        echo boom E: [SMT]: smt_method_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.h (
        echo boom E: [SMT]: smt_method_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.h (
        echo boom E: [SMT]: smt_os_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.h (
        echo boom E: [SMT]: smt_os_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.h (
        echo boom E: [SMT]: smt_os_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.h (
        echo boom E: [SMT]: smt_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.h (
        echo boom E: [SMT]: smt_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.h (
        echo boom E: [SMT]: smt_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.h (
        echo boom E: [SMT]: smt_thread_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.h (
        echo boom E: [SMT]: smt_fileio.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.h (
        echo boom E: [SMT]: smt_fileio_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.h (
        echo boom E: [SMT]: smt_timer_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.h (
        echo boom E: [SMT]: smt_timer_request_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.h (
        echo boom E: [SMT]: smt_timer_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.h (
        echo boom E: [SMT]: smt_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.h (
        echo boom E: [SMT]: smt_socket_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.h (
        echo boom E: [SMT]: smt_socket_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.h (
        echo boom E: [SMT]: smt_socket_request_by_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.h (
        echo boom E: [SMT]: smt_position.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.h (
        echo boom E: [SMT]: smt_position_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.h (
        echo boom E: [SMT]: smt_signal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.h (
        echo boom E: [SMT]: smt_signal_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.h (
        echo boom E: [SMT]: smt_signal_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.smt (
        echo boom E: [SMT]: smt_coremark_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.h (
        echo boom E: [SMT]: smt_coremark_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.h (
        echo boom E: [SMT]: smt_coremark.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.smt (
        echo boom E: [SMT]: smt_log_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.h (
        echo boom E: [SMT]: smt_log_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.h (
        echo boom E: [SMT]: smt_log.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.h (
        echo boom E: [SMT]: smt_demo_portal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.h (
        echo boom E: [SMT]: smt_demo_portal_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.h (
        echo boom E: [SMT]: smt_demo_portal_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.h (
        echo boom E: [SMT]: smt_echo.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.h (
        echo boom E: [SMT]: tstnull.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.h (
        echo boom E: [SMT]: tstsock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.h (
        echo boom E: [SMT]: smt_demo_object.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.h (
        echo boom E: [SMT]: smt_demo_object_action.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.h (
        echo boom E: [SMT]: smt_demo_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.h (
        echo boom E: [SMT]: smt_demo_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

:-------------------------   CHECK OPERATING CONTEXT   ------------------------

:a_check_operating_context
    set event=repository
    if exist stamp_source   set event=source
    if exist stamp_stripped set event=stripped
    goto :eof

:------------------------   CHECK PROJECT FILES EXIST   -----------------------

:a_check_project_files_exist
    if not exist version.h (
        echo boom E: [SMT]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_smt.gsl (
        echo boom E: [SMT]: icl_smt.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.xnf (
        echo boom E: [SMT]: smt_object.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.icl (
        echo boom E: [SMT]: smt_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_tracker.icl (
        echo boom E: [SMT]: smt_object_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.xnf (
        echo boom E: [SMT]: smt.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_stdc.gsl (
        echo boom E: [SMT]: smt_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.gsl (
        echo boom E: [SMT]: smt_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_classes.pdl (
        echo boom E: [SMT]: smt_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.icl (
        echo boom E: [SMT]: smt_method.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.icl (
        echo boom E: [SMT]: smt_method_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.icl (
        echo boom E: [SMT]: smt_os_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.icl (
        echo boom E: [SMT]: smt_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.icl (
        echo boom E: [SMT]: smt_thread_by_status.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.icl (
        echo boom E: [SMT]: smt_fileio.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.icl (
        echo boom E: [SMT]: smt_fileio_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.icl (
        echo boom E: [SMT]: smt_timer_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.icl (
        echo boom E: [SMT]: smt_socket.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.icl (
        echo boom E: [SMT]: smt_socket_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.icl (
        echo boom E: [SMT]: smt_position.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.icl (
        echo boom E: [SMT]: smt_signal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.icl (
        echo boom E: [SMT]: smt_coremark.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.icl (
        echo boom E: [SMT]: smt_log.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.icl (
        echo boom E: [SMT]: smt_demo_portal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.icl (
        echo boom E: [SMT]: smt_demo_portal_client.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.icl (
        echo boom E: [SMT]: smt_demo_portal_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.smt (
        echo boom E: [SMT]: smt_echo.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.smt (
        echo boom E: [SMT]: tstnull.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.smt (
        echo boom E: [SMT]: tstsock.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.smt (
        echo boom E: [SMT]: smt_demo_timer.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.icl (
        echo boom E: [SMT]: smt_demo_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.icl (
        echo boom E: [SMT]: smt_demo_object_action.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.smt (
        echo boom E: [SMT]: smt_demo_server.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.smt (
        echo boom E: [SMT]: smt_demo_client.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [SMT]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [SMT]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [SMT]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [SMT]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [SMT]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [SMT]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

:------------------------   CHECK SOURCE FILES EXIST   ------------------------

:a_check_source_files_exist
    if not exist version.h (
        echo boom E: [SMT]: version.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_smt.gsl (
        echo boom E: [SMT]: icl_smt.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.xnf (
        echo boom E: [SMT]: smt_object.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object.icl (
        echo boom E: [SMT]: smt_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_gen.gsl (
        echo boom E: [SMT]: smt_object_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_preproc.gsl (
        echo boom E: [SMT]: smt_object_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_inherit.gsl (
        echo boom E: [SMT]: smt_object_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_parse.gsl (
        echo boom E: [SMT]: smt_object_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_doc.txt (
        echo boom E: [SMT]: smt_object_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_object_tracker.icl (
        echo boom E: [SMT]: smt_object_tracker.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.xnf (
        echo boom E: [SMT]: smt.xnf is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_gen.gsl (
        echo boom E: [SMT]: smt_gen.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_preproc.gsl (
        echo boom E: [SMT]: smt_preproc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_inherit.gsl (
        echo boom E: [SMT]: smt_inherit.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_parse.gsl (
        echo boom E: [SMT]: smt_parse.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.txt (
        echo boom E: [SMT]: smt_doc.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_stdc.gsl (
        echo boom E: [SMT]: smt_stdc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_doc.gsl (
        echo boom E: [SMT]: smt_doc.gsl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_classes.pdl (
        echo boom E: [SMT]: smt_classes.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.icl (
        echo boom E: [SMT]: smt_method.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.icl (
        echo boom E: [SMT]: smt_method_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.icl (
        echo boom E: [SMT]: smt_method_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.icl (
        echo boom E: [SMT]: smt_os_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.icl (
        echo boom E: [SMT]: smt_os_thread_by_status.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.icl (
        echo boom E: [SMT]: smt_os_thread_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.icl (
        echo boom E: [SMT]: smt_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.icl (
        echo boom E: [SMT]: smt_thread_by_status.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.icl (
        echo boom E: [SMT]: smt_thread_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.icl (
        echo boom E: [SMT]: smt_thread_queue.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.icl (
        echo boom E: [SMT]: smt_fileio.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.icl (
        echo boom E: [SMT]: smt_fileio_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.icl (
        echo boom E: [SMT]: smt_timer_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.icl (
        echo boom E: [SMT]: smt_timer_request_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.icl (
        echo boom E: [SMT]: smt_timer_request_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.icl (
        echo boom E: [SMT]: smt_socket.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.icl (
        echo boom E: [SMT]: smt_socket_request.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.icl (
        echo boom E: [SMT]: smt_socket_request_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.icl (
        echo boom E: [SMT]: smt_socket_request_by_socket.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.icl (
        echo boom E: [SMT]: smt_position.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.icl (
        echo boom E: [SMT]: smt_position_list.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.icl (
        echo boom E: [SMT]: smt_signal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.icl (
        echo boom E: [SMT]: smt_signal_table.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.icl (
        echo boom E: [SMT]: smt_signal_by_thread.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.icl (
        echo boom E: [SMT]: smt_coremark.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.icl (
        echo boom E: [SMT]: smt_log.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.icl (
        echo boom E: [SMT]: smt_demo_portal.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.icl (
        echo boom E: [SMT]: smt_demo_portal_client.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.icl (
        echo boom E: [SMT]: smt_demo_portal_server.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_front.icl (
        echo boom E: [SMT]: smt_demo_portal_front.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_back.icl (
        echo boom E: [SMT]: smt_demo_portal_back.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.smt (
        echo boom E: [SMT]: smt_echo.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.smt (
        echo boom E: [SMT]: tstnull.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.smt (
        echo boom E: [SMT]: tstsock.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.smt (
        echo boom E: [SMT]: smt_demo_timer.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.icl (
        echo boom E: [SMT]: smt_demo_object.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.icl (
        echo boom E: [SMT]: smt_demo_object_action.icl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.smt (
        echo boom E: [SMT]: smt_demo_server.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.smt (
        echo boom E: [SMT]: smt_demo_client.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt.h (
        echo boom E: [SMT]: smt.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist icl_make_doc.ignore (
        echo boom E: [SMT]: icl_make_doc.ignore is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist project.pdl (
        echo boom E: [SMT]: project.pdl is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist readme.txt (
        echo boom E: [SMT]: readme.txt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_test.c (
        echo boom E: [SMT]: smt_method_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.h (
        echo boom E: [SMT]: smt_method.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method.c (
        echo boom E: [SMT]: smt_method.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue_test.c (
        echo boom E: [SMT]: smt_method_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.h (
        echo boom E: [SMT]: smt_method_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_queue.c (
        echo boom E: [SMT]: smt_method_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list_test.c (
        echo boom E: [SMT]: smt_method_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.h (
        echo boom E: [SMT]: smt_method_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_method_list.c (
        echo boom E: [SMT]: smt_method_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_test.c (
        echo boom E: [SMT]: smt_os_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.h (
        echo boom E: [SMT]: smt_os_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread.c (
        echo boom E: [SMT]: smt_os_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status_test.c (
        echo boom E: [SMT]: smt_os_thread_by_status_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.h (
        echo boom E: [SMT]: smt_os_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_by_status.c (
        echo boom E: [SMT]: smt_os_thread_by_status.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list_test.c (
        echo boom E: [SMT]: smt_os_thread_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.h (
        echo boom E: [SMT]: smt_os_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_os_thread_list.c (
        echo boom E: [SMT]: smt_os_thread_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_test.c (
        echo boom E: [SMT]: smt_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.h (
        echo boom E: [SMT]: smt_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread.c (
        echo boom E: [SMT]: smt_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status_test.c (
        echo boom E: [SMT]: smt_thread_by_status_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.h (
        echo boom E: [SMT]: smt_thread_by_status.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_by_status.c (
        echo boom E: [SMT]: smt_thread_by_status.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list_test.c (
        echo boom E: [SMT]: smt_thread_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.h (
        echo boom E: [SMT]: smt_thread_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_list.c (
        echo boom E: [SMT]: smt_thread_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue_test.c (
        echo boom E: [SMT]: smt_thread_queue_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.h (
        echo boom E: [SMT]: smt_thread_queue.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_thread_queue.c (
        echo boom E: [SMT]: smt_thread_queue.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_test.c (
        echo boom E: [SMT]: smt_fileio_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.h (
        echo boom E: [SMT]: smt_fileio.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio.c (
        echo boom E: [SMT]: smt_fileio.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request_test.c (
        echo boom E: [SMT]: smt_fileio_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.h (
        echo boom E: [SMT]: smt_fileio_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_fileio_request.c (
        echo boom E: [SMT]: smt_fileio_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_test.c (
        echo boom E: [SMT]: smt_timer_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.h (
        echo boom E: [SMT]: smt_timer_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request.c (
        echo boom E: [SMT]: smt_timer_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list_test.c (
        echo boom E: [SMT]: smt_timer_request_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.h (
        echo boom E: [SMT]: smt_timer_request_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_list.c (
        echo boom E: [SMT]: smt_timer_request_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread_test.c (
        echo boom E: [SMT]: smt_timer_request_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.h (
        echo boom E: [SMT]: smt_timer_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_timer_request_by_thread.c (
        echo boom E: [SMT]: smt_timer_request_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_test.c (
        echo boom E: [SMT]: smt_socket_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.h (
        echo boom E: [SMT]: smt_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket.c (
        echo boom E: [SMT]: smt_socket.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_test.c (
        echo boom E: [SMT]: smt_socket_request_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.h (
        echo boom E: [SMT]: smt_socket_request.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request.c (
        echo boom E: [SMT]: smt_socket_request.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread_test.c (
        echo boom E: [SMT]: smt_socket_request_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.h (
        echo boom E: [SMT]: smt_socket_request_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_thread.c (
        echo boom E: [SMT]: smt_socket_request_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket_test.c (
        echo boom E: [SMT]: smt_socket_request_by_socket_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.h (
        echo boom E: [SMT]: smt_socket_request_by_socket.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_socket_request_by_socket.c (
        echo boom E: [SMT]: smt_socket_request_by_socket.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_test.c (
        echo boom E: [SMT]: smt_position_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.h (
        echo boom E: [SMT]: smt_position.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position.c (
        echo boom E: [SMT]: smt_position.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list_test.c (
        echo boom E: [SMT]: smt_position_list_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.h (
        echo boom E: [SMT]: smt_position_list.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_position_list.c (
        echo boom E: [SMT]: smt_position_list.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_test.c (
        echo boom E: [SMT]: smt_signal_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.h (
        echo boom E: [SMT]: smt_signal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal.c (
        echo boom E: [SMT]: smt_signal.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table_test.c (
        echo boom E: [SMT]: smt_signal_table_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.h (
        echo boom E: [SMT]: smt_signal_table.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_table.c (
        echo boom E: [SMT]: smt_signal_table.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread_test.c (
        echo boom E: [SMT]: smt_signal_by_thread_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.h (
        echo boom E: [SMT]: smt_signal_by_thread.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_signal_by_thread.c (
        echo boom E: [SMT]: smt_signal_by_thread.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.smt (
        echo boom E: [SMT]: smt_coremark_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.h (
        echo boom E: [SMT]: smt_coremark_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_agent.c (
        echo boom E: [SMT]: smt_coremark_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark_test.c (
        echo boom E: [SMT]: smt_coremark_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.h (
        echo boom E: [SMT]: smt_coremark.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_coremark.c (
        echo boom E: [SMT]: smt_coremark.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.smt (
        echo boom E: [SMT]: smt_log_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.h (
        echo boom E: [SMT]: smt_log_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_agent.c (
        echo boom E: [SMT]: smt_log_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log_test.c (
        echo boom E: [SMT]: smt_log_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.h (
        echo boom E: [SMT]: smt_log.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_log.c (
        echo boom E: [SMT]: smt_log.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_test.c (
        echo boom E: [SMT]: smt_demo_portal_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.h (
        echo boom E: [SMT]: smt_demo_portal.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal.c (
        echo boom E: [SMT]: smt_demo_portal.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.smt (
        echo boom E: [SMT]: smt_demo_portal_client_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.h (
        echo boom E: [SMT]: smt_demo_portal_client_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_agent.c (
        echo boom E: [SMT]: smt_demo_portal_client_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client_test.c (
        echo boom E: [SMT]: smt_demo_portal_client_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.h (
        echo boom E: [SMT]: smt_demo_portal_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_client.c (
        echo boom E: [SMT]: smt_demo_portal_client.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.smt (
        echo boom E: [SMT]: smt_demo_portal_server_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.h (
        echo boom E: [SMT]: smt_demo_portal_server_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_agent.c (
        echo boom E: [SMT]: smt_demo_portal_server_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server_test.c (
        echo boom E: [SMT]: smt_demo_portal_server_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.h (
        echo boom E: [SMT]: smt_demo_portal_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_portal_server.c (
        echo boom E: [SMT]: smt_demo_portal_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.h (
        echo boom E: [SMT]: smt_echo.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_echo.c (
        echo boom E: [SMT]: smt_echo.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.h (
        echo boom E: [SMT]: tstnull.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstnull.c (
        echo boom E: [SMT]: tstnull.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.h (
        echo boom E: [SMT]: tstsock.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist tstsock.c (
        echo boom E: [SMT]: tstsock.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.c (
        echo boom E: [SMT]: smt_demo_timer.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_timer.h (
        echo boom E: [SMT]: smt_demo_timer.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.smt (
        echo boom E: [SMT]: smt_demo_object_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.h (
        echo boom E: [SMT]: smt_demo_object_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_agent.c (
        echo boom E: [SMT]: smt_demo_object_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_test.c (
        echo boom E: [SMT]: smt_demo_object_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.h (
        echo boom E: [SMT]: smt_demo_object.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object.c (
        echo boom E: [SMT]: smt_demo_object.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.smt (
        echo boom E: [SMT]: smt_demo_object_action_agent.smt is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.h (
        echo boom E: [SMT]: smt_demo_object_action_agent.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_agent.c (
        echo boom E: [SMT]: smt_demo_object_action_agent.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action_test.c (
        echo boom E: [SMT]: smt_demo_object_action_test.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.h (
        echo boom E: [SMT]: smt_demo_object_action.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_object_action.c (
        echo boom E: [SMT]: smt_demo_object_action.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.h (
        echo boom E: [SMT]: smt_demo_server.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_server.c (
        echo boom E: [SMT]: smt_demo_server.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.h (
        echo boom E: [SMT]: smt_demo_client.h is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist smt_demo_client.c (
        echo boom E: [SMT]: smt_demo_client.c is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist stamp_generate (
        echo boom E: [SMT]: stamp_generate is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure (
        echo boom E: [SMT]: configure is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.unix (
        echo boom E: [SMT]: Makefile.unix is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake (
        echo boom E: [SMT]: boomake is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist configure.bat (
        echo boom E: [SMT]: configure.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist Makefile.win32 (
        echo boom E: [SMT]: Makefile.win32 is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomake.bat (
        echo boom E: [SMT]: boomake.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    if not exist boomakew.bat (
        echo boom E: [SMT]: boomakew.bat is missing, cannot continue
        set _exception=1
        goto :eof
    )
    goto :eof

:--------------------------   INSTALL DELIVERABLES   --------------------------

:a_install_deliverables
    echo boom I: [SMT]: installing SMT into !_INSTALL_ROOT!...
    if not exist !_INSTALL_ROOT! mkdir !_INSTALL_ROOT!
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y icl_smt.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y icl_smt.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y icl_smt.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object_gen.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object_gen.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object_gen.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object_preproc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object_inherit.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object_parse.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object_parse.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object_parse.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_object_tracker.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_object_tracker.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_object_tracker.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_gen.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_gen.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_gen.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_preproc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_preproc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_inherit.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_inherit.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_parse.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_parse.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_parse.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_stdc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_stdc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_stdc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_doc.gsl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_doc.gsl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_doc.gsl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_classes.pdl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_classes.pdl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_classes.pdl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_method.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method_queue.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_method_queue.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method_queue.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_method_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_os_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_os_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_os_thread_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_by_status.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_thread_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_queue.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_thread_queue.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_queue.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_fileio.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_fileio.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_fileio.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_fileio_request.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_fileio_request.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_fileio_request.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_timer_request.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_timer_request_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_timer_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_socket.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_socket_request.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_socket_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request_by_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request_by_socket.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_socket_request_by_socket.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request_by_socket.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_position.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_position.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_position.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_position_list.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_position_list.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_position_list.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_signal.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal_table.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_signal_table.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal_table.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_signal_by_thread.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal_by_thread.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_coremark.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_coremark.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_coremark.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_log.icl !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_log.icl !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_log.icl !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_echo.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_echo.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_echo.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y tstnull.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y tstnull.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y tstnull.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y tstsock.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y tstsock.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y tstsock.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_server.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_demo_server.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_server.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_client.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_demo_client.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_client.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\lib\nul mkdir !_INSTALL_ROOT!\lib\
    if "!BOOM_TRACE!"=="1" echo copy/y libsmt.lib !_INSTALL_ROOT!\lib\>nul
    verify>nul
    call copy/y libsmt.lib !_INSTALL_ROOT!\lib\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y libsmt.lib !_INSTALL_ROOT!\lib\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y smt.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if not exist !_INSTALL_ROOT!\doc\SMT\nul mkdir !_INSTALL_ROOT!\doc\SMT\
    if "!BOOM_TRACE!"=="1" echo copy/y readme.txt !_INSTALL_ROOT!\doc\SMT\>nul
    verify>nul
    call copy/y readme.txt !_INSTALL_ROOT!\doc\SMT\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y readme.txt !_INSTALL_ROOT!\doc\SMT\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_method.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method_queue.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_method_queue.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method_queue.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_method_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_method_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_method_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_os_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread_by_status.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_os_thread_by_status.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread_by_status.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_os_thread_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_os_thread_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_os_thread_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_by_status.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_thread_by_status.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_by_status.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_thread_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_thread_queue.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_thread_queue.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_thread_queue.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_fileio.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_fileio.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_fileio.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_fileio_request.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_fileio_request.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_fileio_request.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_timer_request.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_timer_request_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_timer_request_by_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_timer_request_by_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_timer_request_by_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_socket.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_socket_request.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request_by_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_socket_request_by_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request_by_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_socket_request_by_socket.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_socket_request_by_socket.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_socket_request_by_socket.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_position.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_position.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_position.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_position_list.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_position_list.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_position_list.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_signal.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal_table.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_signal_table.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal_table.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_signal_by_thread.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_signal_by_thread.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_signal_by_thread.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y smt_coremark_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_coremark_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_coremark_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y smt_coremark_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_coremark_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_coremark_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_coremark.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_coremark.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_coremark.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\bin\nul mkdir !_INSTALL_ROOT!\bin\
    if "!BOOM_TRACE!"=="1" echo copy/y smt_log_agent.smt !_INSTALL_ROOT!\bin\>nul
    verify>nul
    call copy/y smt_log_agent.smt !_INSTALL_ROOT!\bin\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_log_agent.smt !_INSTALL_ROOT!\bin\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if not exist !_INSTALL_ROOT!\include\nul mkdir !_INSTALL_ROOT!\include\
    if "!BOOM_TRACE!"=="1" echo copy/y smt_log_agent.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_log_agent.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_log_agent.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_log.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_log.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_log.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_portal.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_portal.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_portal.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_portal_client.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_portal_client.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_portal_client.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_portal_server.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_portal_server.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_portal_server.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_echo.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_echo.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_echo.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y tstnull.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y tstnull.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y tstnull.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y tstsock.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y tstsock.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y tstsock.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_object.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_object.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_object.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_object_action.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_object_action.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_object_action.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_server.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_server.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_server.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo copy/y smt_demo_client.h !_INSTALL_ROOT!\include\>nul
    verify>nul
    call copy/y smt_demo_client.h !_INSTALL_ROOT!\include\>nul
    if errorlevel 1 (
        echo boom E: [SMT]: 'copy/y smt_demo_client.h !_INSTALL_ROOT!\include\>nul' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist installer.bat (
    if "!BOOM_TRACE!"=="1" echo installer
    verify>nul
    call installer
    if errorlevel 1 (
        echo boom E: [SMT]: 'installer' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

:-----------------------   PRODUCE ALL GENERATED FILES   ----------------------

:a_produce_all_generated_files
    echo boom I: [SMT]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_object.xnf
    verify>nul
    call gsl -q -quiet:1 smt_object.xnf
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_object.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt.xnf
    verify>nul
    call gsl -q -quiet:1 smt.xnf
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method.icl
    verify>nul
    call gsl -q -quiet:1 smt_method.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method_queue.icl
    verify>nul
    call gsl -q -quiet:1 smt_method_queue.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_method_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread_by_status.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread_by_status.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread_by_status.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_by_status.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_by_status.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_by_status.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_queue.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_queue.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_fileio.icl
    verify>nul
    call gsl -q -quiet:1 smt_fileio.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_fileio.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_fileio_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_fileio_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_fileio_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request_by_socket.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request_by_socket.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request_by_socket.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_position.icl
    verify>nul
    call gsl -q -quiet:1 smt_position.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_position.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_position_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_position_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_position_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal_table.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal_table.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_coremark.icl
    verify>nul
    call gsl -q -quiet:1 smt_coremark.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_coremark.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_log.icl
    verify>nul
    call gsl -q -quiet:1 smt_log.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_log.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_client.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_client.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_client.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_server.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_server.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_server.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_echo.smt
    verify>nul
    call gsl -q -quiet:1 smt_echo.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_echo.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 tstnull.smt
    verify>nul
    call gsl -q -quiet:1 tstnull.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 tstnull.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 tstsock.smt
    verify>nul
    call gsl -q -quiet:1 tstsock.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 tstsock.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_timer.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_timer.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_timer.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_object.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_action.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_action.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_action.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_server.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_server.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_server.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_client.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_client.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_client.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_coremark_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_coremark_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_coremark_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_log_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_log_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_log_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_client_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_client_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_client_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_server_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_server_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_server_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_action_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_action_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_action_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist smt.h del smt.h
    if "!BOOM_TRACE!"=="1" echo type smt_thread.h>>smt.h
    verify>nul
    call type smt_thread.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_thread.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type smt_coremark.h>>smt.h
    verify>nul
    call type smt_coremark.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_coremark.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type smt_os_thread.h>>smt.h
    verify>nul
    call type smt_os_thread.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_os_thread.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    echo Source files successfully generated>stamp_generate
    goto :eof

:-------------------------   PRODUCE GENERATED FILES   ------------------------

:a_produce_generated_files
    echo boom I: [SMT]: Generating files...
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_object.xnf
    verify>nul
    call gsl -q -quiet:1 smt_object.xnf
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_object.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt.xnf
    verify>nul
    call gsl -q -quiet:1 smt.xnf
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt.xnf' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method.icl
    verify>nul
    call gsl -q -quiet:1 smt_method.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method_queue.icl
    verify>nul
    call gsl -q -quiet:1 smt_method_queue.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_method_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_method_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_method_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread_by_status.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread_by_status.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread_by_status.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_os_thread_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_os_thread_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_os_thread_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_by_status.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_by_status.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_by_status.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_thread_queue.icl
    verify>nul
    call gsl -q -quiet:1 smt_thread_queue.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_thread_queue.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_fileio.icl
    verify>nul
    call gsl -q -quiet:1 smt_fileio.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_fileio.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_fileio_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_fileio_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_fileio_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_timer_request_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_timer_request_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_timer_request_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_socket_request_by_socket.icl
    verify>nul
    call gsl -q -quiet:1 smt_socket_request_by_socket.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_socket_request_by_socket.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_position.icl
    verify>nul
    call gsl -q -quiet:1 smt_position.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_position.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_position_list.icl
    verify>nul
    call gsl -q -quiet:1 smt_position_list.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_position_list.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal_table.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal_table.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal_table.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_signal_by_thread.icl
    verify>nul
    call gsl -q -quiet:1 smt_signal_by_thread.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_signal_by_thread.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_coremark.icl
    verify>nul
    call gsl -q -quiet:1 smt_coremark.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_coremark.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_log.icl
    verify>nul
    call gsl -q -quiet:1 smt_log.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_log.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_client.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_client.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_client.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_server.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_server.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_server.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_echo.smt
    verify>nul
    call gsl -q -quiet:1 smt_echo.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_echo.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 tstnull.smt
    verify>nul
    call gsl -q -quiet:1 tstnull.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 tstnull.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 tstsock.smt
    verify>nul
    call gsl -q -quiet:1 tstsock.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 tstsock.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_timer.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_timer.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_timer.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_object.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_action.icl
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_action.icl
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_action.icl' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_server.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_server.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_server.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_client.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_client.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_client.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_coremark_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_coremark_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_coremark_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_log_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_log_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_log_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_client_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_client_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_client_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_portal_server_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_portal_server_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_portal_server_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo gsl -q -quiet:1 smt_demo_object_action_agent.smt
    verify>nul
    call gsl -q -quiet:1 smt_demo_object_action_agent.smt
    if errorlevel 1 (
        echo boom E: [SMT]: 'gsl -q -quiet:1 smt_demo_object_action_agent.smt' failed - stop.
        set _exception=1
        goto :eof
    )
    if exist smt.h del smt.h
    if "!BOOM_TRACE!"=="1" echo type smt_thread.h>>smt.h
    verify>nul
    call type smt_thread.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_thread.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type smt_coremark.h>>smt.h
    verify>nul
    call type smt_coremark.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_coremark.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" echo type smt_os_thread.h>>smt.h
    verify>nul
    call type smt_os_thread.h>>smt.h
    if errorlevel 1 (
        echo boom E: [SMT]: 'type smt_os_thread.h>>smt.h' failed - stop.
        set _exception=1
        goto :eof
    )
    echo Source files successfully generated>stamp_generate
    goto :eof

:------------------------   REMOVE GENERATED BINARIES   -----------------------

:a_remove_generated_binaries
    if exist libsmt.lib del libsmt.lib
    if exist smt_method_test_test.obj del smt_method_test_test.obj
    if exist smt_method_test_test.exe del smt_method_test_test.exe
    if exist smt_method.obj del smt_method.obj
    if exist smt_method_queue_test_test.obj del smt_method_queue_test_test.obj
    if exist smt_method_queue_test_test.exe del smt_method_queue_test_test.exe
    if exist smt_method_queue.obj del smt_method_queue.obj
    if exist smt_method_list_test_test.obj del smt_method_list_test_test.obj
    if exist smt_method_list_test_test.exe del smt_method_list_test_test.exe
    if exist smt_method_list.obj del smt_method_list.obj
    if exist smt_os_thread_test_test.obj del smt_os_thread_test_test.obj
    if exist smt_os_thread_test_test.exe del smt_os_thread_test_test.exe
    if exist smt_os_thread.obj del smt_os_thread.obj
    if exist smt_os_thread_by_status_test_test.obj del smt_os_thread_by_status_test_test.obj
    if exist smt_os_thread_by_status_test_test.exe del smt_os_thread_by_status_test_test.exe
    if exist smt_os_thread_by_status.obj del smt_os_thread_by_status.obj
    if exist smt_os_thread_list_test_test.obj del smt_os_thread_list_test_test.obj
    if exist smt_os_thread_list_test_test.exe del smt_os_thread_list_test_test.exe
    if exist smt_os_thread_list.obj del smt_os_thread_list.obj
    if exist smt_thread_test_test.obj del smt_thread_test_test.obj
    if exist smt_thread_test_test.exe del smt_thread_test_test.exe
    if exist smt_thread.obj del smt_thread.obj
    if exist smt_thread_by_status_test_test.obj del smt_thread_by_status_test_test.obj
    if exist smt_thread_by_status_test_test.exe del smt_thread_by_status_test_test.exe
    if exist smt_thread_by_status.obj del smt_thread_by_status.obj
    if exist smt_thread_list_test_test.obj del smt_thread_list_test_test.obj
    if exist smt_thread_list_test_test.exe del smt_thread_list_test_test.exe
    if exist smt_thread_list.obj del smt_thread_list.obj
    if exist smt_thread_queue_test_test.obj del smt_thread_queue_test_test.obj
    if exist smt_thread_queue_test_test.exe del smt_thread_queue_test_test.exe
    if exist smt_thread_queue.obj del smt_thread_queue.obj
    if exist smt_fileio_test_test.obj del smt_fileio_test_test.obj
    if exist smt_fileio_test_test.exe del smt_fileio_test_test.exe
    if exist smt_fileio.obj del smt_fileio.obj
    if exist smt_fileio_request_test_test.obj del smt_fileio_request_test_test.obj
    if exist smt_fileio_request_test_test.exe del smt_fileio_request_test_test.exe
    if exist smt_fileio_request.obj del smt_fileio_request.obj
    if exist smt_timer_request_test_test.obj del smt_timer_request_test_test.obj
    if exist smt_timer_request_test_test.exe del smt_timer_request_test_test.exe
    if exist smt_timer_request.obj del smt_timer_request.obj
    if exist smt_timer_request_list_test_test.obj del smt_timer_request_list_test_test.obj
    if exist smt_timer_request_list_test_test.exe del smt_timer_request_list_test_test.exe
    if exist smt_timer_request_list.obj del smt_timer_request_list.obj
    if exist smt_timer_request_by_thread_test_test.obj del smt_timer_request_by_thread_test_test.obj
    if exist smt_timer_request_by_thread_test_test.exe del smt_timer_request_by_thread_test_test.exe
    if exist smt_timer_request_by_thread.obj del smt_timer_request_by_thread.obj
    if exist smt_socket_test_test.obj del smt_socket_test_test.obj
    if exist smt_socket_test_test.exe del smt_socket_test_test.exe
    if exist smt_socket.obj del smt_socket.obj
    if exist smt_socket_request_test_test.obj del smt_socket_request_test_test.obj
    if exist smt_socket_request_test_test.exe del smt_socket_request_test_test.exe
    if exist smt_socket_request.obj del smt_socket_request.obj
    if exist smt_socket_request_by_thread_test_test.obj del smt_socket_request_by_thread_test_test.obj
    if exist smt_socket_request_by_thread_test_test.exe del smt_socket_request_by_thread_test_test.exe
    if exist smt_socket_request_by_thread.obj del smt_socket_request_by_thread.obj
    if exist smt_socket_request_by_socket_test_test.obj del smt_socket_request_by_socket_test_test.obj
    if exist smt_socket_request_by_socket_test_test.exe del smt_socket_request_by_socket_test_test.exe
    if exist smt_socket_request_by_socket.obj del smt_socket_request_by_socket.obj
    if exist smt_position_test_test.obj del smt_position_test_test.obj
    if exist smt_position_test_test.exe del smt_position_test_test.exe
    if exist smt_position.obj del smt_position.obj
    if exist smt_position_list_test_test.obj del smt_position_list_test_test.obj
    if exist smt_position_list_test_test.exe del smt_position_list_test_test.exe
    if exist smt_position_list.obj del smt_position_list.obj
    if exist smt_signal_test_test.obj del smt_signal_test_test.obj
    if exist smt_signal_test_test.exe del smt_signal_test_test.exe
    if exist smt_signal.obj del smt_signal.obj
    if exist smt_signal_table_test_test.obj del smt_signal_table_test_test.obj
    if exist smt_signal_table_test_test.exe del smt_signal_table_test_test.exe
    if exist smt_signal_table.obj del smt_signal_table.obj
    if exist smt_signal_by_thread_test_test.obj del smt_signal_by_thread_test_test.obj
    if exist smt_signal_by_thread_test_test.exe del smt_signal_by_thread_test_test.exe
    if exist smt_signal_by_thread.obj del smt_signal_by_thread.obj
    if exist smt_coremark_agent.obj del smt_coremark_agent.obj
    if exist smt_coremark_test_test.obj del smt_coremark_test_test.obj
    if exist smt_coremark_test_test.exe del smt_coremark_test_test.exe
    if exist smt_coremark.obj del smt_coremark.obj
    if exist smt_log_agent.obj del smt_log_agent.obj
    if exist smt_log_test_test.obj del smt_log_test_test.obj
    if exist smt_log_test_test.exe del smt_log_test_test.exe
    if exist smt_log.obj del smt_log.obj
    if exist smt_demo_portal_test_test.obj del smt_demo_portal_test_test.obj
    if exist smt_demo_portal_test_test.exe del smt_demo_portal_test_test.exe
    if exist smt_demo_portal.obj del smt_demo_portal.obj
    if exist smt_demo_portal_client_agent.obj del smt_demo_portal_client_agent.obj
    if exist smt_demo_portal_client_test_test.obj del smt_demo_portal_client_test_test.obj
    if exist smt_demo_portal_client_test_test.exe del smt_demo_portal_client_test_test.exe
    if exist smt_demo_portal_client.obj del smt_demo_portal_client.obj
    if exist smt_demo_portal_server_agent.obj del smt_demo_portal_server_agent.obj
    if exist smt_demo_portal_server_test_test.obj del smt_demo_portal_server_test_test.obj
    if exist smt_demo_portal_server_test_test.exe del smt_demo_portal_server_test_test.exe
    if exist smt_demo_portal_server.obj del smt_demo_portal_server.obj
    if exist smt_echo.obj del smt_echo.obj
    if exist smt_echo.exe del smt_echo.exe
    if exist tstnull.obj del tstnull.obj
    if exist tstnull.exe del tstnull.exe
    if exist tstsock.obj del tstsock.obj
    if exist tstsock.exe del tstsock.exe
    if exist smt_demo_timer.obj del smt_demo_timer.obj
    if exist smt_demo_timer.exe del smt_demo_timer.exe
    if exist smt_demo_object_agent.obj del smt_demo_object_agent.obj
    if exist smt_demo_object_test_test.obj del smt_demo_object_test_test.obj
    if exist smt_demo_object_test_test.exe del smt_demo_object_test_test.exe
    if exist smt_demo_object.obj del smt_demo_object.obj
    if exist smt_demo_object_action_agent.obj del smt_demo_object_action_agent.obj
    if exist smt_demo_object_action_test_test.obj del smt_demo_object_action_test_test.obj
    if exist smt_demo_object_action_test_test.exe del smt_demo_object_action_test_test.exe
    if exist smt_demo_object_action.obj del smt_demo_object_action.obj
    if exist smt_demo_server.obj del smt_demo_server.obj
    if exist smt_demo_client.obj del smt_demo_client.obj
    if exist smt_demo_client.exe del smt_demo_client.exe
    if exist smt_method_test.obj del smt_method_test.obj
    if exist smt_method_test.exe del smt_method_test.exe
    if exist smt_method.obj del smt_method.obj
    if exist smt_method_queue_test.obj del smt_method_queue_test.obj
    if exist smt_method_queue_test.exe del smt_method_queue_test.exe
    if exist smt_method_queue.obj del smt_method_queue.obj
    if exist smt_method_list_test.obj del smt_method_list_test.obj
    if exist smt_method_list_test.exe del smt_method_list_test.exe
    if exist smt_method_list.obj del smt_method_list.obj
    if exist smt_os_thread_test.obj del smt_os_thread_test.obj
    if exist smt_os_thread_test.exe del smt_os_thread_test.exe
    if exist smt_os_thread.obj del smt_os_thread.obj
    if exist smt_os_thread_by_status_test.obj del smt_os_thread_by_status_test.obj
    if exist smt_os_thread_by_status_test.exe del smt_os_thread_by_status_test.exe
    if exist smt_os_thread_by_status.obj del smt_os_thread_by_status.obj
    if exist smt_os_thread_list_test.obj del smt_os_thread_list_test.obj
    if exist smt_os_thread_list_test.exe del smt_os_thread_list_test.exe
    if exist smt_os_thread_list.obj del smt_os_thread_list.obj
    if exist smt_thread_test.obj del smt_thread_test.obj
    if exist smt_thread_test.exe del smt_thread_test.exe
    if exist smt_thread.obj del smt_thread.obj
    if exist smt_thread_by_status_test.obj del smt_thread_by_status_test.obj
    if exist smt_thread_by_status_test.exe del smt_thread_by_status_test.exe
    if exist smt_thread_by_status.obj del smt_thread_by_status.obj
    if exist smt_thread_list_test.obj del smt_thread_list_test.obj
    if exist smt_thread_list_test.exe del smt_thread_list_test.exe
    if exist smt_thread_list.obj del smt_thread_list.obj
    if exist smt_thread_queue_test.obj del smt_thread_queue_test.obj
    if exist smt_thread_queue_test.exe del smt_thread_queue_test.exe
    if exist smt_thread_queue.obj del smt_thread_queue.obj
    if exist smt_fileio_test.obj del smt_fileio_test.obj
    if exist smt_fileio_test.exe del smt_fileio_test.exe
    if exist smt_fileio.obj del smt_fileio.obj
    if exist smt_fileio_request_test.obj del smt_fileio_request_test.obj
    if exist smt_fileio_request_test.exe del smt_fileio_request_test.exe
    if exist smt_fileio_request.obj del smt_fileio_request.obj
    if exist smt_timer_request_test.obj del smt_timer_request_test.obj
    if exist smt_timer_request_test.exe del smt_timer_request_test.exe
    if exist smt_timer_request.obj del smt_timer_request.obj
    if exist smt_timer_request_list_test.obj del smt_timer_request_list_test.obj
    if exist smt_timer_request_list_test.exe del smt_timer_request_list_test.exe
    if exist smt_timer_request_list.obj del smt_timer_request_list.obj
    if exist smt_timer_request_by_thread_test.obj del smt_timer_request_by_thread_test.obj
    if exist smt_timer_request_by_thread_test.exe del smt_timer_request_by_thread_test.exe
    if exist smt_timer_request_by_thread.obj del smt_timer_request_by_thread.obj
    if exist smt_socket_test.obj del smt_socket_test.obj
    if exist smt_socket_test.exe del smt_socket_test.exe
    if exist smt_socket.obj del smt_socket.obj
    if exist smt_socket_request_test.obj del smt_socket_request_test.obj
    if exist smt_socket_request_test.exe del smt_socket_request_test.exe
    if exist smt_socket_request.obj del smt_socket_request.obj
    if exist smt_socket_request_by_thread_test.obj del smt_socket_request_by_thread_test.obj
    if exist smt_socket_request_by_thread_test.exe del smt_socket_request_by_thread_test.exe
    if exist smt_socket_request_by_thread.obj del smt_socket_request_by_thread.obj
    if exist smt_socket_request_by_socket_test.obj del smt_socket_request_by_socket_test.obj
    if exist smt_socket_request_by_socket_test.exe del smt_socket_request_by_socket_test.exe
    if exist smt_socket_request_by_socket.obj del smt_socket_request_by_socket.obj
    if exist smt_position_test.obj del smt_position_test.obj
    if exist smt_position_test.exe del smt_position_test.exe
    if exist smt_position.obj del smt_position.obj
    if exist smt_position_list_test.obj del smt_position_list_test.obj
    if exist smt_position_list_test.exe del smt_position_list_test.exe
    if exist smt_position_list.obj del smt_position_list.obj
    if exist smt_signal_test.obj del smt_signal_test.obj
    if exist smt_signal_test.exe del smt_signal_test.exe
    if exist smt_signal.obj del smt_signal.obj
    if exist smt_signal_table_test.obj del smt_signal_table_test.obj
    if exist smt_signal_table_test.exe del smt_signal_table_test.exe
    if exist smt_signal_table.obj del smt_signal_table.obj
    if exist smt_signal_by_thread_test.obj del smt_signal_by_thread_test.obj
    if exist smt_signal_by_thread_test.exe del smt_signal_by_thread_test.exe
    if exist smt_signal_by_thread.obj del smt_signal_by_thread.obj
    if exist smt_coremark_agent.obj del smt_coremark_agent.obj
    if exist smt_coremark_test.obj del smt_coremark_test.obj
    if exist smt_coremark_test.exe del smt_coremark_test.exe
    if exist smt_coremark.obj del smt_coremark.obj
    if exist smt_log_agent.obj del smt_log_agent.obj
    if exist smt_log_test.obj del smt_log_test.obj
    if exist smt_log_test.exe del smt_log_test.exe
    if exist smt_log.obj del smt_log.obj
    if exist smt_demo_portal_test.obj del smt_demo_portal_test.obj
    if exist smt_demo_portal_test.exe del smt_demo_portal_test.exe
    if exist smt_demo_portal.obj del smt_demo_portal.obj
    if exist smt_demo_portal_client_agent.obj del smt_demo_portal_client_agent.obj
    if exist smt_demo_portal_client_test.obj del smt_demo_portal_client_test.obj
    if exist smt_demo_portal_client_test.exe del smt_demo_portal_client_test.exe
    if exist smt_demo_portal_client.obj del smt_demo_portal_client.obj
    if exist smt_demo_portal_server_agent.obj del smt_demo_portal_server_agent.obj
    if exist smt_demo_portal_server_test.obj del smt_demo_portal_server_test.obj
    if exist smt_demo_portal_server_test.exe del smt_demo_portal_server_test.exe
    if exist smt_demo_portal_server.obj del smt_demo_portal_server.obj
    if exist smt_echo.obj del smt_echo.obj
    if exist smt_echo.exe del smt_echo.exe
    if exist tstnull.obj del tstnull.obj
    if exist tstnull.exe del tstnull.exe
    if exist tstsock.obj del tstsock.obj
    if exist tstsock.exe del tstsock.exe
    if exist smt_demo_timer.obj del smt_demo_timer.obj
    if exist smt_demo_timer.exe del smt_demo_timer.exe
    if exist smt_demo_object_agent.obj del smt_demo_object_agent.obj
    if exist smt_demo_object_test.obj del smt_demo_object_test.obj
    if exist smt_demo_object_test.exe del smt_demo_object_test.exe
    if exist smt_demo_object.obj del smt_demo_object.obj
    if exist smt_demo_object_action_agent.obj del smt_demo_object_action_agent.obj
    if exist smt_demo_object_action_test.obj del smt_demo_object_action_test.obj
    if exist smt_demo_object_action_test.exe del smt_demo_object_action_test.exe
    if exist smt_demo_object_action.obj del smt_demo_object_action.obj
    if exist smt_demo_server.obj del smt_demo_server.obj
    if exist smt_demo_client.obj del smt_demo_client.obj
    if exist smt_demo_client.exe del smt_demo_client.exe
    if exist vc60.pdb del vc60.pdb
    goto :eof

:------------------------   REMOVE GENERATED SOURCES   ------------------------

:a_remove_generated_sources
    if exist smt_object_gen.gsl del smt_object_gen.gsl
    if exist smt_object_preproc.gsl del smt_object_preproc.gsl
    if exist smt_object_inherit.gsl del smt_object_inherit.gsl
    if exist smt_object_parse.gsl del smt_object_parse.gsl
    if exist smt_object_doc.txt del smt_object_doc.txt
    if exist smt_gen.gsl del smt_gen.gsl
    if exist smt_preproc.gsl del smt_preproc.gsl
    if exist smt_inherit.gsl del smt_inherit.gsl
    if exist smt_parse.gsl del smt_parse.gsl
    if exist smt_doc.txt del smt_doc.txt
    if exist smt_method_list.icl del smt_method_list.icl
    if exist smt_os_thread_by_status.icl del smt_os_thread_by_status.icl
    if exist smt_os_thread_list.icl del smt_os_thread_list.icl
    if exist smt_thread_list.icl del smt_thread_list.icl
    if exist smt_thread_queue.icl del smt_thread_queue.icl
    if exist smt_timer_request_list.icl del smt_timer_request_list.icl
    if exist smt_timer_request_by_thread.icl del smt_timer_request_by_thread.icl
    if exist smt_socket_request_by_thread.icl del smt_socket_request_by_thread.icl
    if exist smt_socket_request_by_socket.icl del smt_socket_request_by_socket.icl
    if exist smt_position_list.icl del smt_position_list.icl
    if exist smt_signal_table.icl del smt_signal_table.icl
    if exist smt_signal_by_thread.icl del smt_signal_by_thread.icl
    if exist smt_demo_portal_front.icl del smt_demo_portal_front.icl
    if exist smt_demo_portal_back.icl del smt_demo_portal_back.icl
    if exist smt.h del smt.h
    if exist smt_method_test.c del smt_method_test.c
    if exist smt_method.h del smt_method.h
    if exist smt_method.c del smt_method.c
    if exist smt_method_queue_test.c del smt_method_queue_test.c
    if exist smt_method_queue.h del smt_method_queue.h
    if exist smt_method_queue.c del smt_method_queue.c
    if exist smt_method_list_test.c del smt_method_list_test.c
    if exist smt_method_list.h del smt_method_list.h
    if exist smt_method_list.c del smt_method_list.c
    if exist smt_os_thread_test.c del smt_os_thread_test.c
    if exist smt_os_thread.h del smt_os_thread.h
    if exist smt_os_thread.c del smt_os_thread.c
    if exist smt_os_thread_by_status_test.c del smt_os_thread_by_status_test.c
    if exist smt_os_thread_by_status.h del smt_os_thread_by_status.h
    if exist smt_os_thread_by_status.c del smt_os_thread_by_status.c
    if exist smt_os_thread_list_test.c del smt_os_thread_list_test.c
    if exist smt_os_thread_list.h del smt_os_thread_list.h
    if exist smt_os_thread_list.c del smt_os_thread_list.c
    if exist smt_thread_test.c del smt_thread_test.c
    if exist smt_thread.h del smt_thread.h
    if exist smt_thread.c del smt_thread.c
    if exist smt_thread_by_status_test.c del smt_thread_by_status_test.c
    if exist smt_thread_by_status.h del smt_thread_by_status.h
    if exist smt_thread_by_status.c del smt_thread_by_status.c
    if exist smt_thread_list_test.c del smt_thread_list_test.c
    if exist smt_thread_list.h del smt_thread_list.h
    if exist smt_thread_list.c del smt_thread_list.c
    if exist smt_thread_queue_test.c del smt_thread_queue_test.c
    if exist smt_thread_queue.h del smt_thread_queue.h
    if exist smt_thread_queue.c del smt_thread_queue.c
    if exist smt_fileio_test.c del smt_fileio_test.c
    if exist smt_fileio.h del smt_fileio.h
    if exist smt_fileio.c del smt_fileio.c
    if exist smt_fileio_request_test.c del smt_fileio_request_test.c
    if exist smt_fileio_request.h del smt_fileio_request.h
    if exist smt_fileio_request.c del smt_fileio_request.c
    if exist smt_timer_request_test.c del smt_timer_request_test.c
    if exist smt_timer_request.h del smt_timer_request.h
    if exist smt_timer_request.c del smt_timer_request.c
    if exist smt_timer_request_list_test.c del smt_timer_request_list_test.c
    if exist smt_timer_request_list.h del smt_timer_request_list.h
    if exist smt_timer_request_list.c del smt_timer_request_list.c
    if exist smt_timer_request_by_thread_test.c del smt_timer_request_by_thread_test.c
    if exist smt_timer_request_by_thread.h del smt_timer_request_by_thread.h
    if exist smt_timer_request_by_thread.c del smt_timer_request_by_thread.c
    if exist smt_socket_test.c del smt_socket_test.c
    if exist smt_socket.h del smt_socket.h
    if exist smt_socket.c del smt_socket.c
    if exist smt_socket_request_test.c del smt_socket_request_test.c
    if exist smt_socket_request.h del smt_socket_request.h
    if exist smt_socket_request.c del smt_socket_request.c
    if exist smt_socket_request_by_thread_test.c del smt_socket_request_by_thread_test.c
    if exist smt_socket_request_by_thread.h del smt_socket_request_by_thread.h
    if exist smt_socket_request_by_thread.c del smt_socket_request_by_thread.c
    if exist smt_socket_request_by_socket_test.c del smt_socket_request_by_socket_test.c
    if exist smt_socket_request_by_socket.h del smt_socket_request_by_socket.h
    if exist smt_socket_request_by_socket.c del smt_socket_request_by_socket.c
    if exist smt_position_test.c del smt_position_test.c
    if exist smt_position.h del smt_position.h
    if exist smt_position.c del smt_position.c
    if exist smt_position_list_test.c del smt_position_list_test.c
    if exist smt_position_list.h del smt_position_list.h
    if exist smt_position_list.c del smt_position_list.c
    if exist smt_signal_test.c del smt_signal_test.c
    if exist smt_signal.h del smt_signal.h
    if exist smt_signal.c del smt_signal.c
    if exist smt_signal_table_test.c del smt_signal_table_test.c
    if exist smt_signal_table.h del smt_signal_table.h
    if exist smt_signal_table.c del smt_signal_table.c
    if exist smt_signal_by_thread_test.c del smt_signal_by_thread_test.c
    if exist smt_signal_by_thread.h del smt_signal_by_thread.h
    if exist smt_signal_by_thread.c del smt_signal_by_thread.c
    if exist smt_coremark_agent.smt del smt_coremark_agent.smt
    if exist smt_coremark_agent.h del smt_coremark_agent.h
    if exist smt_coremark_agent.c del smt_coremark_agent.c
    if exist smt_coremark_test.c del smt_coremark_test.c
    if exist smt_coremark.h del smt_coremark.h
    if exist smt_coremark.c del smt_coremark.c
    if exist smt_log_agent.smt del smt_log_agent.smt
    if exist smt_log_agent.h del smt_log_agent.h
    if exist smt_log_agent.c del smt_log_agent.c
    if exist smt_log_test.c del smt_log_test.c
    if exist smt_log.h del smt_log.h
    if exist smt_log.c del smt_log.c
    if exist smt_demo_portal_test.c del smt_demo_portal_test.c
    if exist smt_demo_portal.h del smt_demo_portal.h
    if exist smt_demo_portal.c del smt_demo_portal.c
    if exist smt_demo_portal_client_agent.smt del smt_demo_portal_client_agent.smt
    if exist smt_demo_portal_client_agent.h del smt_demo_portal_client_agent.h
    if exist smt_demo_portal_client_agent.c del smt_demo_portal_client_agent.c
    if exist smt_demo_portal_client_test.c del smt_demo_portal_client_test.c
    if exist smt_demo_portal_client.h del smt_demo_portal_client.h
    if exist smt_demo_portal_client.c del smt_demo_portal_client.c
    if exist smt_demo_portal_server_agent.smt del smt_demo_portal_server_agent.smt
    if exist smt_demo_portal_server_agent.h del smt_demo_portal_server_agent.h
    if exist smt_demo_portal_server_agent.c del smt_demo_portal_server_agent.c
    if exist smt_demo_portal_server_test.c del smt_demo_portal_server_test.c
    if exist smt_demo_portal_server.h del smt_demo_portal_server.h
    if exist smt_demo_portal_server.c del smt_demo_portal_server.c
    if exist smt_echo.h del smt_echo.h
    if exist smt_echo.c del smt_echo.c
    if exist tstnull.h del tstnull.h
    if exist tstnull.c del tstnull.c
    if exist tstsock.h del tstsock.h
    if exist tstsock.c del tstsock.c
    if exist smt_demo_timer.c del smt_demo_timer.c
    if exist smt_demo_timer.h del smt_demo_timer.h
    if exist smt_demo_object_agent.smt del smt_demo_object_agent.smt
    if exist smt_demo_object_agent.h del smt_demo_object_agent.h
    if exist smt_demo_object_agent.c del smt_demo_object_agent.c
    if exist smt_demo_object_test.c del smt_demo_object_test.c
    if exist smt_demo_object.h del smt_demo_object.h
    if exist smt_demo_object.c del smt_demo_object.c
    if exist smt_demo_object_action_agent.smt del smt_demo_object_action_agent.smt
    if exist smt_demo_object_action_agent.h del smt_demo_object_action_agent.h
    if exist smt_demo_object_action_agent.c del smt_demo_object_action_agent.c
    if exist smt_demo_object_action_test.c del smt_demo_object_action_test.c
    if exist smt_demo_object_action.h del smt_demo_object_action.h
    if exist smt_demo_object_action.c del smt_demo_object_action.c
    if exist smt_demo_server.h del smt_demo_server.h
    if exist smt_demo_server.c del smt_demo_server.c
    if exist smt_demo_client.h del smt_demo_client.h
    if exist smt_demo_client.c del smt_demo_client.c
    if exist stamp_generate del stamp_generate
    if exist configure del configure
    if exist Makefile.unix del Makefile.unix
    if exist configure.bat del configure.bat
    if exist Makefile.win32 del Makefile.win32
    if exist SMT_*.zip del SMT_*.zip
    goto :eof

:-------------------------   REPORT HELP INFORMATION   ------------------------

:a_report_help_information
    echo The commands you can currently use on this project are:
    echo.
    goto r_!state!
    goto :eof

:-------------------------   REPORT PROJECT VERSION   -------------------------

:a_report_project_version
    echo SMT-5.0a0
    goto :eof

:--------------------------   RUN REGRESSION TESTS   --------------------------

:a_run_regression_tests
    echo boom I: [SMT]: Running regression tests...
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_method_test
    ) else (
        set RUN_COMMAND=smt_method_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_method_queue_test
    ) else (
        set RUN_COMMAND=smt_method_queue_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_method_list_test
    ) else (
        set RUN_COMMAND=smt_method_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_os_thread_test
    ) else (
        set RUN_COMMAND=smt_os_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_os_thread_by_status_test
    ) else (
        set RUN_COMMAND=smt_os_thread_by_status_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_os_thread_list_test
    ) else (
        set RUN_COMMAND=smt_os_thread_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_thread_test
    ) else (
        set RUN_COMMAND=smt_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_thread_by_status_test
    ) else (
        set RUN_COMMAND=smt_thread_by_status_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_thread_list_test
    ) else (
        set RUN_COMMAND=smt_thread_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_thread_queue_test
    ) else (
        set RUN_COMMAND=smt_thread_queue_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_fileio_test
    ) else (
        set RUN_COMMAND=smt_fileio_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_fileio_request_test
    ) else (
        set RUN_COMMAND=smt_fileio_request_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_timer_request_test
    ) else (
        set RUN_COMMAND=smt_timer_request_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_timer_request_list_test
    ) else (
        set RUN_COMMAND=smt_timer_request_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_timer_request_by_thread_test
    ) else (
        set RUN_COMMAND=smt_timer_request_by_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_socket_test
    ) else (
        set RUN_COMMAND=smt_socket_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_socket_request_test
    ) else (
        set RUN_COMMAND=smt_socket_request_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_socket_request_by_thread_test
    ) else (
        set RUN_COMMAND=smt_socket_request_by_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_socket_request_by_socket_test
    ) else (
        set RUN_COMMAND=smt_socket_request_by_socket_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_position_test
    ) else (
        set RUN_COMMAND=smt_position_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_position_list_test
    ) else (
        set RUN_COMMAND=smt_position_list_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_signal_test
    ) else (
        set RUN_COMMAND=smt_signal_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_signal_table_test
    ) else (
        set RUN_COMMAND=smt_signal_table_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_signal_by_thread_test
    ) else (
        set RUN_COMMAND=smt_signal_by_thread_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_coremark_test
    ) else (
        set RUN_COMMAND=smt_coremark_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_log_test
    ) else (
        set RUN_COMMAND=smt_log_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_demo_portal_test
    ) else (
        set RUN_COMMAND=smt_demo_portal_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_demo_portal_client_test
    ) else (
        set RUN_COMMAND=smt_demo_portal_client_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_demo_portal_server_test
    ) else (
        set RUN_COMMAND=smt_demo_portal_server_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_demo_object_test
    ) else (
        set RUN_COMMAND=smt_demo_object_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    if "!BOOM_TRACE!"=="1" (
        set RUN_COMMAND=smt_demo_object_action_test
    ) else (
        set RUN_COMMAND=smt_demo_object_action_test -q
    )
    if "!BOOM_TRACE!"=="1" echo !RUN_COMMAND!
    verify>nul
    call !RUN_COMMAND!
    if errorlevel 1 (
        echo boom E: [SMT]: '!RUN_COMMAND!' failed - stop.
        set _exception=1
        goto :eof
    )
    :-  Run local selftest script if present
    if exist selftest.bat (
    if "!BOOM_TRACE!"=="1" echo selftest
    verify>nul
    call selftest
    if errorlevel 1 (
        echo boom E: [SMT]: 'selftest' failed - stop.
        set _exception=1
        goto :eof
    )
    )
    goto :eof

:-----------------------   USE SOURCE CONTROL REVISION   ----------------------

:a_use_source_control_revision
    set SVN_REVISION=svn
    if exist .svn
ul (
        for /f "usebackq tokens=1,2 delims=: " %%v in (`svn info`) do if "%%v"=="Revision" set SVN_REVISION=%%w
    )
    set MY_VERSION=!MY_VERSION!-!SVN_REVISION!
    goto :eof

:s_initial
    if "!debug!"=="1" echo State: initial
    if "!event!"=="" goto s_1_empty
    if "!event!"=="ok" goto s_1_1
    echo Unknown command - use one of:
    echo.
    goto r_!state!
:s_1_1
    if "!debug!"=="1" echo Event: ok
    set event=
    if "!debug!"=="1" echo Action: check operating context
    set _exception=
    call :a_check_operating_context
    if "!_exception!"=="1" exit /b 1
    set state=initial_check
    goto s_!state!
:s_1_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_initial
:r_initial
    exit /b 0

:s_initial_check
    if "!debug!"=="1" echo State: initial check
    if "!event!"=="" goto s_2_empty
    if "!event!"=="repository" goto s_2_1
    if "!event!"=="source" goto s_2_2
    if "!event!"=="stripped" goto s_2_3
    echo Unknown command - use one of:
    echo.
    goto r_!state!
:s_2_1
    if "!debug!"=="1" echo Event: repository
    set event=
    set state=repository
    goto s_!state!
:s_2_2
    if "!debug!"=="1" echo Event: source
    set event=
    set state=source
    goto s_!state!
:s_2_3
    if "!debug!"=="1" echo Event: stripped
    set event=
    set state=stripped
    goto s_!state!
:s_2_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_initial_check
:r_initial_check
    exit /b 0

:s_repository
    if "!debug!"=="1" echo State: repository
    if "!event!"=="" goto s_3_empty
    if "!event!"=="build" goto s_3_1
    if "!event!"=="compile" goto s_3_2
    if "!event!"=="clean" goto s_3_3
    if "!event!"=="regen" goto s_3_4
    if "!event!"=="allgen" goto s_3_5
    if "!event!"=="distrib" goto s_3_6
    if "!event!"=="distsrc" goto s_3_7
    if "!event!"=="distrev" goto s_3_8
    goto s_default
:s_3_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_2
    if "!debug!"=="1" echo Event: compile
    set event=
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_3
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated sources
    set _exception=
    call :a_remove_generated_sources
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_4
    if "!debug!"=="1" echo Event: regen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_5
    if "!debug!"=="1" echo Event: allgen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_6
    if "!debug!"=="1" echo Event: distrib
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_7
    if "!debug!"=="1" echo Event: distsrc
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_8
    if "!debug!"=="1" echo Event: distrev
    set event=
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: check all source files exist
    set _exception=
    call :a_check_all_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: use source control revision
    set _exception=
    call :a_use_source_control_revision
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build source packages
    set _exception=
    call :a_build_source_packages
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_3_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_repository
:r_repository
echo build:
    echo   From the raw project sources, produces all generated files, and
    echo     compiles all source files.
echo compile:
    echo   From the raw project sources, compiles all source files without any
    echo     code generation.
echo clean:
    echo   When working with the raw project sources, removes all generated
    echo     source and binary files from the project directory.
echo regen:
    echo   Produces generated files required for building using the
    echo     current model.
echo allgen:
    echo   Produces all generated files.
echo distrib:
    echo   Creates a source distribution for the project.  Note that binary
    echo     distributions can only be created at the product level.
echo distsrc:
    echo   Equivalent to distrib, provided for compatibility.
echo distrev:
    echo   Creates a source distribution for the project.  Builds distribution
    echo     packages based on source control version number. Note that binary
    echo     distributions can only be created at the product level.
    goto r_default

:s_source
    if "!debug!"=="1" echo State: source
    if "!event!"=="" goto s_4_empty
    if "!event!"=="build" goto s_4_1
    if "!event!"=="clean" goto s_4_2
    if "!event!"=="regen" goto s_4_3
    if "!event!"=="allgen" goto s_4_4
    goto s_default
:s_4_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: check source files exist
    set _exception=
    call :a_check_source_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_2
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_3
    if "!debug!"=="1" echo Event: regen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce generated files
    set _exception=
    call :a_produce_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_4
    if "!debug!"=="1" echo Event: allgen
    set event=
    if "!debug!"=="1" echo Action: check project files exist
    set _exception=
    call :a_check_project_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: produce all generated files
    set _exception=
    call :a_produce_all_generated_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_4_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_source
:r_source
echo build:
    echo   From the packaged sources, compiles all source files without any
    echo     code generation.
echo clean:
    echo   When working with the packaged sources, removes all generated
    echo     binary files from the project directory.
echo regen:
    echo   Produces generated files required for building using the
    echo     current model.
echo allgen:
    echo   Produces all generated files.
    goto r_default

:s_stripped
    if "!debug!"=="1" echo State: stripped
    if "!event!"=="" goto s_5_empty
    if "!event!"=="build" goto s_5_1
    if "!event!"=="clean" goto s_5_2
    goto s_default
:s_5_1
    if "!debug!"=="1" echo Event: build
    set event=
    if "!debug!"=="1" echo Action: build binary files
    set _exception=
    call :a_build_binary_files
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_5_2
    if "!debug!"=="1" echo Event: clean
    set event=
    if "!debug!"=="1" echo Action: remove generated binaries
    set _exception=
    call :a_remove_generated_binaries
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_5_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_stripped
:r_stripped
echo build:
    echo   From the stripped-down packaged sources, compiles all source files
    echo     without any code generation.
echo clean:
    echo   When working with the packaged sources, removes all generated
    echo     binary files from the project directory.
    goto r_default

:s_default
    if "!debug!"=="1" echo State: default
    if "!event!"=="" goto s_6_empty
    if "!event!"=="install" goto s_6_1
    if "!event!"=="test" goto s_6_2
    if "!event!"=="help" goto s_6_3
    if "!event!"=="version" goto s_6_4
    if "!event!"=="empty" goto s_6_5
    echo Unknown command - use one of:
    echo.
    goto r_!state!
:s_6_1
    if "!debug!"=="1" echo Event: install
    set event=
    if "!debug!"=="1" echo Action: check binary files exist
    set _exception=
    call :a_check_binary_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: install deliverables
    set _exception=
    call :a_install_deliverables
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_2
    if "!debug!"=="1" echo Event: test
    set event=
    if "!debug!"=="1" echo Action: check binary files exist
    set _exception=
    call :a_check_binary_files_exist
    if "!_exception!"=="1" exit /b 1
    if "!debug!"=="1" echo Action: run regression tests
    set _exception=
    call :a_run_regression_tests
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_3
    if "!debug!"=="1" echo Event: help
    set event=
    if "!debug!"=="1" echo Action: report help information
    set _exception=
    call :a_report_help_information
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_4
    if "!debug!"=="1" echo Event: version
    set event=
    if "!debug!"=="1" echo Action: report project version
    set _exception=
    call :a_report_project_version
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_5
    if "!debug!"=="1" echo Event: empty
    set event=
    if "!debug!"=="1" echo Action: report help information
    set _exception=
    call :a_report_help_information
    if "!_exception!"=="1" exit /b 1
    if not "%1"=="" goto process
    exit /b 0
:s_6_empty
    if "!debug!"=="1" echo Get event from user
    set event=%1
    shift
    if "!event!"=="" set event=empty
    goto s_default
:r_default
echo install:
    echo   Installs deliverables into the final or temporary install tree.
    echo     This action is only valid after a successful build.
echo test:
    echo   Runs regression tests for the project.
echo help:
    echo   Shows a list of the commands allowed on the project.
echo version:
    echo   Show project version.
    exit /b 0


exit /b 0
