Files

55 lines
1.5 KiB
Bash
Raw Permalink Normal View History

2026-05-23 22:10:14 +08:00
#!/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)"
}