#!/bin/bash abspath=$(cd "$(dirname "$0")";pwd) source $abspath/func.sh if [ $# -lt 1 ] ;then echo "Usage:$0 all|clean" && exit fi root_path=$(pwd) system=$(uname -s) if [ "$system" == "Linux" ] ;then platform="linux" else platform="macosx" fi if [ "$1" == "all" ] ;then # compile skynet echo "开始编译skynet..." cd $root_path/skynet real_path=$(pwd) echo "cd $real_path" if [ "$platform" == "macosx" ] ;then make $platform MALLOC_STATICLIB= SKYNET_DEFINES=-DNOUSE_JEMALLOC else make $platform fi # compile 3rd echo "创建三方库目录..." cd $root_path mkdir -p ./lib/luaclib/ mkdir -p ./lib/cservice echo "开始编译第三方库..." elif [ "$1" == "init" ] ; then echo "复制配置文件目录..." if [[ ! -n $2 ]]; then green_echo "请指明源路径" && exit fi echo $2 echo $(pwd) rm -rf ./run/etc mkdir -p ./run/etc cp ./run/common/preload.lua ./run/etc/preload.lua cp ./run/common/public.conf ./run/etc/public.conf cp -rf ./run/$2/* ./run/etc/ set_global cd $root_path echo "system = '$platform'" >> ./run/etc/public.conf nodeList=`get_process_list` loggerSet=`get_config loggerSet` for pname in ${nodeList[@]} ; do ori_node=`get_cluster_name ${pname}` blue_echo "new nodename: ${pname} clusterName: ${ori_node}" # if [[ ${ori_node} != ${pname} ]] ; then # fi cp -rf ./run/common/${ori_node}.conf ./run/etc/${pname}.conf if [ "$platform" == "macosx" ] ;then res=`sed -i "" "s/nodeName = \"${ori_node}\"/nodeName = \"${pname}\"/g" ./run/etc/${pname}.conf` else res=`sed -i "s/nodeName = \"${ori_node}\"/nodeName = \"${pname}\"/g" ./run/etc/${pname}.conf` fi if [[ ${loggerSet} = "add" ]]; then echo -e "\nlogger = root..\"log/${pname}.log\"\n" >> ./run/etc/${pname}.conf fi done exit 1 elif [ "$1" == "clean" ] ; then rm -rf ./lib/luaclib/*.so rm -rf ./lib/cservice/*.so cd $root_path/skynet make $1 fi echo -e "\n" cd $root_path/3rd real_path=$(pwd) sh build.sh $1