55 lines
1.5 KiB
Bash
55 lines
1.5 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
#-------------------------------------------------
|
||
|
|
# 服务端相关开发工具
|
||
|
|
#-------------------------------------------------
|
||
|
|
|
||
|
|
if [ "" == "$ROOT" ]; then
|
||
|
|
if [ -f ../tools/dev.sh ]; then
|
||
|
|
../tools/dev.sh $@
|
||
|
|
exit 0
|
||
|
|
else
|
||
|
|
echo -e "\e[91m>>\e[0;0m 此脚本必须通过tools/dev.sh调用才能正常工作"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
fi
|
||
|
|
|
||
|
|
DOC[srv_dmake]="编译服务器数据源码"
|
||
|
|
fun_srv_dmake(){
|
||
|
|
INFO "正在编译服务端数据源码,使用编译参数: \e[92m${ERL_MAKE_PARAM}\e[0;0m (编译参数可在\e[92mcfg.ini\e[0;0m中修改) ..."
|
||
|
|
cd ${ROOT}/server_core_data || exit 1
|
||
|
|
start_time=$(date +%s)
|
||
|
|
cd ${ROOT}/server_core_data
|
||
|
|
mkdir -p ${ROOT}/server/dbin
|
||
|
|
if [ "$1" = "" ]; then
|
||
|
|
paths=",'data/*'"
|
||
|
|
INFO $paths
|
||
|
|
else
|
||
|
|
paths=$(find data -type f -name "$1.erl" | awk '{print " ,'\''"$0"'\''" }')
|
||
|
|
fi
|
||
|
|
cat > Emakefile <<EOF
|
||
|
|
{
|
||
|
|
[
|
||
|
|
'lang/*'
|
||
|
|
${paths}
|
||
|
|
]
|
||
|
|
,[
|
||
|
|
{hipe, [o3]}
|
||
|
|
%%,encrypt_debug_info
|
||
|
|
,debug_info
|
||
|
|
,{i, "../server/inc"}
|
||
|
|
,{i, "inc"}
|
||
|
|
,{outdir, "../server/dbin"}
|
||
|
|
,{parse_transform, lager_transform}
|
||
|
|
| [${ERL_MAKE_PARAM}]
|
||
|
|
]
|
||
|
|
}.
|
||
|
|
EOF
|
||
|
|
${ERL} -pa ${ROOT}/server/cbin -noshell -make -j 10
|
||
|
|
if $(in_cygwin); then
|
||
|
|
yes|cp -f ${ROOT}/server/dbin/* ${ROOT}/server/ebin/
|
||
|
|
else
|
||
|
|
rsync -avH --progress ${ROOT}/server/dbin/ ${ROOT}/server/ebin/
|
||
|
|
fi
|
||
|
|
INFO "编译服务端核心模块数据源码完成:$(expr `date +%s` - $start_time)"
|
||
|
|
}
|