You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.3 KiB
Bash
66 lines
2.3 KiB
Bash
# linux script logic server build(included tarball) about functions encapsulation
|
|
# Longwei Lai
|
|
###################################################################
|
|
|
|
source "${____LOGIC_SCRIPT_PATH}/lnx_fwk_defs.sh"
|
|
source "${____LOGIC_SCRIPT_PATH}/lnx_logic_defs.sh"
|
|
|
|
# return make server
|
|
function make_server()
|
|
{
|
|
local debug_opt=FALSE
|
|
local isdebug_prompt=release
|
|
local make_flags="config=release"
|
|
local debug_flag="`echo -n "$1" | tr [:lower:] [:upper:]`"
|
|
if [ "${debug_flag}" = "DEBUG" -o "${debug_flag}" = "DBG" -o "${debug_flag}" = "D" ]; then
|
|
debug_opt=TRUE
|
|
isdebug_prompt=debug
|
|
make_flags="config=debug"
|
|
fi
|
|
|
|
local product_opt="product"
|
|
local premake_path="${____LOGIC_SCRIPT_PATH}/"
|
|
local internal_flag="`echo -n "$2" | tr [:lower:] [:upper:]`"
|
|
if [ "${internal_flag}" = "INTERNAL" -o "${internal_flag}" = "INTERNAL_ENV" -o "${internal_flag}" = "INL" ]; then
|
|
product_opt="internal"
|
|
elif [ "${internal_flag}" = "PRESSURE_TEST" -o "${internal_flag}" = "PRESSURE_TEST_ENV" -o "${internal_flag}" = "PT" ]; then
|
|
product_opt="pressure_test"
|
|
fi
|
|
|
|
# stop all servers
|
|
log_info "stop all servers..."
|
|
stop_all_servers 1>/dev/null 2>&1
|
|
|
|
# make
|
|
log_info "making(${isdebug_prompt}, ${product_opt})..."
|
|
|
|
local make_log_path="${SVR_PATH}/.make_logs"
|
|
mkdir -p "${make_log_path}"
|
|
|
|
local make_log_file="${make_log_path}/make_log.`date '+%Y%m%d_%H%M%S_%N'`"
|
|
log_info "make log redirect to [${make_log_file}]..."
|
|
( cd "${SVR_PATH}" && make linux "${make_flags}" 2>&1 | tee "${make_log_file}" | grep -e '\(error\)\|\(warning\)'; exit ${PIPESTATUS[0]} )
|
|
if [ $? -ne 0 ]; then
|
|
log_err "make server failed"
|
|
return 1
|
|
fi
|
|
|
|
# generate option file
|
|
log_info "generate server options..."
|
|
mkdir -p "${____FWK_SVR_OPTIONS_PATH}"
|
|
echo -n ${debug_opt} > "${____FWK_SVR_DEBUG_OPTION_FILE}"
|
|
}
|
|
|
|
function make_project()
|
|
{
|
|
local projname="$1"
|
|
local make_flags="$2"
|
|
local make_log_file="$3"
|
|
log_info "building ${projname} project..."
|
|
( cd "${make_path}" && make -f "${projname}.make" "${make_flags}" 2>&1 | tee "${make_log_file}" | grep -v '): warning CS.*'; exit ${PIPESTATUS[0]} )
|
|
if [ $? -ne 0 ]; then
|
|
log_err "make failed(build ${projname} project failed)"
|
|
return 1
|
|
fi
|
|
}
|