⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idl_depend

📁 遗传算法的一个库
💻
字号:
#!/bin/sh## idl_depend.# Tool for generating dependences from idl# (C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998-2001# $Id: idl_depend,v 1.5 2002/02/05 18:21:53 rssh Exp $############################################################# Redistribution and use in source and binary forms, with or without# modification, are permitted provided that the following conditions# are met:# 1. Redistributions of source code must retain the above copyright#   notice, this list of conditions and the following disclaimer.# 2. 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.# 3. All advertising materials mentioning features or use of this software#   must display the following acknowledgement:#      This product includes software developed by Ruslan Shevchenko, #      Ukraine, Kiev and his contributors.# 4. Neither the name of the original author nor the names of his contributors#    may be used to endorse or promote products derived from this software#    without specific prior written permission.## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS 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.###########################################################usage(){ echo "idl_depend, " echo "Usage: idl_depend [options]" echo " where options:" echo "     --idl_dir directory_where_you_store_idl_files" echo "     --idl_file file_to_process" echo "     --extra_idl_flag flags_which_you_want_pass_to_idl " echo "     --var_prefix prefix_of_make_varibales" echo "     --h_dir directory_where_generated_header_files_must_be" echo "     --cpp_dir directory_where_generated_cpp_files_must_be" echo "     --obj_dir directory_where_generated_object_files_must_be" echo "     --cln_h_suffix suffix for generated client headers (default: .h)" echo "     --cln_h1_suffix suffix for second generated client headers " echo "                                                     (default: no)" echo "     --cln_cpp_suffix suffix for generated client cpp (default: .cpp)" echo "     --cln_obj_suffix suffix for generated client objs (default: .o)" echo "     --srv_h_suffix suffix for generated skeleton headers (default: _skel.h)" echo "     --srv_h1_suffix suffix for second generated skeleton headers " echo "                                                (default: no.h)" echo "     --srv_cpp_suffix suffix for generated skeleton cxx sources " echo "                                               (default: _skel.cpp)" echo "     --srv_cpp_suffix suffix for generated skeleton object files  " echo "                                               (default: _skel.o)" echo "     --tie_h_suffix suffix for generated tie skeleton headers   " echo "                                               (default: _skel_tie.h)" echo "     --tie_h1_suffix second suffix for generated tie skeleton headers   " echo "                                               (default: no)" echo "     --tie_cpp_suffix suffix for generated tie skeleton sources  " echo "                                               (default: no)" echo "     --absolute-path : use absolute patch names" echo "     --additive-vars : do not set make variables to empty initial variable" echo "     --version : show version" echo "     --verbose : show debug information in stderr" echo "     --cxxcompile : use \$(CXXCOMPILE) instead \$(CXX) \$(CXXFLAGS)" echo "     --sgi-make : do not use += in generated Makefile "}IDL_DIR=IDLS=VAR_PREFIX=H_DIR=EXTRA_IDLFLAGS=CLN_H_SUFFIX=.hCLN_H1_SUFFIX=noCLN_CPP_SUFFIX=.cppCLN_OBJ_SUFFIX=.oSRV_H_SUFFIX=_skel.hSRV_H1_SUFFIX=noSRV_CPP_SUFFIX=_skel.cppSRV_OBJ_SUFFIX=_skel.oTIE_H_SUFFIX=_skel_tie.hTIE_H1_SUFFIX=noTIE_CPP_SUFFIX=nowhile [ "x$*" != "x" ]do   case $1 in     --idl_dir|--idl-dir)		IDL_DIR=$2		shift		;;     --extra-idl-flags|--extra_idl_flags|--extra-idl-flag|--extra_idl_flag)                EXTRA_IDLFLAGS="$EXTRA_IDLFLAGS $2"                shift                ;;     --idl_file|--idl-file)                IDLS="$IDLS $2"		shift                ;;     --var_prefix|--var-prefix)		VAR_PREFIX=$2                shift                ;;     --h_dir|--h-dir)                H_DIR=$2;                shift                ;;     --cpp_dir|--cpp-dir)                CPP_DIR=$2;                shift                ;;     --obj_dir|--obj-dir)                OBJ_DIR=$2;                shift                ;;     --cln_h_suffix|--cln-h-suffix)                CLN_H_SUFFIX=$2                shift                ;;     --cln_h1_suffix|--cln-h1-suffix)                CLN_H1_SUFFIX=$2                shift                ;;     --cln_cpp_suffix|--cln-cpp-suffix)                CLN_CPP_SUFFIX=$2                shift                ;;     --cln_obj_suffix|--cln-obj-suffix)                CLN_OBJ_SUFFIX=$2                shift                ;;     --srv_h_suffix|--srv-h-suffix)                SRV_H_SUFFIX=$2                shift                ;;     --srv_h1_suffix|--srv-h1-suffix)                SRV_H1_SUFFIX=$2                shift                ;;     --srv_cpp_suffix|--srv-cpp-suffix)                SRV_CPP_SUFFIX=$2                shift                ;;     --srv_obj_suffix|--srv-obj-suffix)                SRV_OBJ_SUFFIX=$2                shift                ;;     --tie_h_suffix|--tie-h-suffix)                TIE_H_SUFFIX=$2                shift                ;;     --tie_h1_suffix|--tie-h1-suffix)                TIE_H1_SUFFIX=$2                shift                ;;     --tie_cpp_suffix|--tie-cpp-suffix)                TIE_CPP_SUFFIX=$2                shift                ;;     --absolute_path|--absolute-path)                ABSOLUTE=1                ;;     --additive_vars|--additive-vars)                ADDITIVE_VARS=1                ;;     --cxxcompile)		CXXCOMPILE=1		;;     --sgi-make|--sgi_make)		SGI_MAKE=1		;;     --verbose)	        VERBOSE=yes                ;;     --version)	echo "idl_depend: makefile generator for idl -> C++ transformation"	echo "(C) Ruslan Shevchenko <Ruslan@Shevchenko.Kiev.UA>, 1998,1999,2000"        echo $Id: idl_depend,v 1.5 2002/02/05 18:21:53 rssh Exp $x		exit		;;     --*)                usage                exit                ;;   esac   shiftdoneif [ "x$IDLS" = "x" ]then  if [ "x$IDL_DIR" = "x" ]  then    IDLS="*.idl"  else    IDLS="$IDL_DIR/*.idl"  fifiif [ "x$SGI_MAKE" = "x" ]then  if [ "x$ADDITIVE_VARS" = "x" ]  then    echo IDL_${VAR_PREFIX}ALL=  fielse  if [ "x$ADDITIVE_VARS" = "x" ]  then    idl_all_var=     idl_cl_all_objs_var=    idl_skel_all_objs_var=     idl_srv_all_objs_var=  else    echo "options --additive-vars and --sgi-make are incompatible" 1>&2     exit 1   fifiif test "x$VERBOSE" = "xyes"; then echo IDL_DIR=$IDL_DIR                >& 2 echo IDLS=$IDLS                      >& 2 echo VAR_PREFIX=$VAR_PREFIX          >& 2 echo H_DIR=$H_DIR                    >& 2 echo EXTRA_IDLFLAGS=$EXTRA_IDLFLAGS  >& 2 echo CLN_H_SUFFIX=$CLN_H_SUFFIX      >& 2 echo CLN_H1_SUFFIX=$CLN_H1_SUFFIX    >& 2 echo CLN_CPP_SUFFIX=$CLN_CPP_SUFFIX  >& 2 echo CLN_OBJ_SUFFIX=$CLN_OBJ_SUFFIX  >& 2 echo SRV_H_SUFFIX=$SRV_H_SUFFIX      >& 2 echo SRV_H1_SUFFIX=$SRV_H1_SUFFIX    >& 2 echo SRV_CPP_SUFFIX=$SRV_CPP_SUFFIX  >& 2 echo SRV_OBJ_SUFFIX=$SRV_OBJ_SUFFIX  >& 2 echo TIE_H_SUFFIX=$TIE_H_SUFFIX      >& 2 echo TIE_H1_SUFFIX=$TIE_H1_SUFFIX    >& 2 echo TIE_CPP_SUFFIX=$TIE_CPP_SUFFIX  >& 2fifor i in $IDLSdo  TESTEMPTY=`echo $i | sed '/\*/d'`  if [ "x$TESTEMPTY" = "x" ]  then    echo no idl files found.    exit  fi  j=`basename $i .idl`  if [ "x$H_DIR" = "x" ]  then    CL_H=${j}${CLN_H_SUFFIX}    CL_H1=${j}${CLN_H1_SUFFIX}    SKEL_H=${j}${SRV_H_SUFFIX}    SKEL_H1=${j}${SRV_H1_SUFFIX}    TIE_H=${j}${TIE_H_SUFFIX}    TIE_H1=${j}${TIE_H1_SUFFIX}  else    CL_H="${H_DIR}/${j}${CLN_H_SUFFIX}"    CL_H1="${H_DIR}/${j}${CLN_H1_SUFFIX}"    SKEL_H="${H_DIR}/${j}${SRV_H_SUFFIX}"    SKEL_H1="${H_DIR}/${j}${SRV_H1_SUFFIX}"    TIE_H="${H_DIR}/${j}${TIE_H_SUFFIX}"    TIE_H1="${H_DIR}/${j}${TIE_H1_SUFFIX}"  fi  if [ "x$CPP_DIR" = "x" ]  then    CL_CPP=$j${CLN_CPP_SUFFIX}    SKEL_CPP=${j}${SRV_CPP_SUFFIX}    TIE_CPP=${j}${TIE_CPP_SUFFIX}  else    CL_CPP=${CPP_DIR}/$j${CLN_CPP_SUFFIX}    SKEL_CPP=${CPP_DIR}/${j}${SRV_CPP_SUFFIX}    TIE_CPP=${CPP_DIR}/${j}${TIE_CPP_SUFFIX}  fi  if [ "x$OBJ_DIR" = "x" ]  then    CL_OBJ=$j${CLN_OBJ_SUFFIX}    SKEL_OBJ=${j}${SRV_OBJ_SUFFIX}  else    CL_OBJ=${OBJ_DIR}/$j$CLN_OBJ_SUFFIX    SKEL_OBJ=${OBJ_DIR}/${j}${SRV_OBJ_SUFFIX}  fi  CUR_IDL=$i  if [ "x$ABSOLUTE" != "x" ]  then   case $CL_H in     /*)        ;;      *)        CL_H=`pwd`/$CL_H        CL_H1=`pwd`/$CL_H1        SKEL_H=`pwd`/$SKEL_H        SKEL_H1=`pwd`/$SKE_H1        TIE_H=`pwd`/$TIE_H        TIE_H1=`pwd`/$TIE_H        ;;   esac   case $CL_CPP in     /*)        ;;      *)        CL_CPP=`pwd`/$CL_CPP        SKEL_CPP=`pwd`/$SKEL_CPP        TIE_CPP=`pwd`/$TIE_CPP        ;;    esac    case $CL_OBJ in      /*)         ;;       *)         CL_OBJ=`pwd`/$CL_OBJ         SKEL_OBJ=`pwd`/$SKEL_OBJ         ;;    esac     case $CUR_IDL in      /*)         ;;       *)         CUR_IDL=`pwd`/$CUR_IDL         ;;    esac  fi  if test "x$CL_H" = "x$SKEL_H" ; then    TARGET="$CL_H"  else    TARGET="$CL_H $SKEL_H"  fi  if test "x$CL_CPP" = "x$SKEL_CPP" ; then    TARGET="$TARGET $CL_CPP"  else    TARGET="$TARGET $CL_CPP $SKEL_CPP"  fi  echo "$TARGET: $CUR_IDL"  echo "	\$(IDLCXX) \$(IDLFLAGS) $EXTRA_IDLFLAGS   $CUR_IDL"  if [ "x$H_DIR" != "x" ]  then    LOC_CLN_H=$j${CLN_H_SUFFIX}    LOC_CLN_H1=$j${CLN_H1_SUFFIX}    LOC_SRV_H=$j${SRV_H_SUFFIX}    LOC_SRV_H1=$j${SRV_H1_SUFFIX}    LOC_TIE_H=$j${TIE_H_SUFFIX}    LOC_TIE_H1=$j${TIE_H1_SUFFIX}    echo "	mv $LOC_CLN_H  $CL_H"    if test "x$CLN_H1_SUFFIX" != "xno" ; then       echo "	mv $LOC_CLN_H1  $CL_H1"    fi    if test  "x$SRV_H_SUFFIX" != "xno" ; then     if test ! "x$SRV_H_SUFFIX" = "x$CLN_H_SUFFIX" ; then       echo "	mv ${j}${SRV_H_SUFFIX} $SKEL_H"     fi    fi    if test  "x$SRV_H1_SUFFIX" != "xno" ; then       echo "	mv $LOC_SRV_H1 $SKEL_H1"    fi    if test  "x$TIE_H_SUFFIX" != "xno" ; then      echo "	if [ -f ${LOC_TIE_H} ]; then mv ${LOC_TIE_H} $TIE_H; fi"    fi    if test  "x$TIE_H1_SUFFIX" != "xno" ; then      echo "	if [ -f ${LOC_TIE_H1} ]; then mv ${LOC_TIE_H1} $TIE_H1; fi"    fi  fi  if [ "x$CPP_DIR" != "x" ]  then    LOC_CLN_CPP=$j${CLN_CPP_SUFFIX}    LOC_SRV_CPP=$j${SRV_CPP_SUFFIX}    LOC_TIE_CPP=$j${TIE_CPP_SUFFIX}    echo "	mv $LOC_CLN_CPP $CL_CPP"    if test  "x$SRV_CPP_SUFFIX" != "xno"; then     if test  "x$SRV_CPP_SUFFIX" != "x$CLN_CPP_SUFFIX"; then      echo "	mv ${j}${SRV_CPP_SUFFIX} $SKEL_CPP"     fi    fi    if test ! "x$TIE_CPP_SUFFIX" = "xno"; then      echo "	if [ -f ${LOC_TIE_CPP} ]; then mv ${LOC_TIE_CPP} $TIE_CPP; fi"    fi  fi  echo  if [ "x$SGI_MAKE" != "x" ]  then    idl_all_var="$idl_all_var $CL_H $CL_CPP $SKEL_H $SKEL_CPP"    idl_cl_all_objs_var="$idl_cl_all_objs_var $CL_OBJ"    idl_skel_all_objs_var="$idl_skel_all_objs_var $SKEL_OBJ"    if test "x$SKEL_OBJ" = "x$CL_OBJ"    then       idl_srv_all_objs_var="$idl_srv_all_objs_var $SKEL_OBJ"    else       idl_srv_all_objs_var="$idl_srv_all_objs_var $SKEL_OBJ $CL_OBJ"    fi  else    echo IDL_${VAR_PREFIX}ALL += $CL_H $CL_CPP $SKEL_H $SKEL_CPP    echo IDL_CL_${VAR_PREFIX}ALL_OBJS += $CL_OBJ    echo IDL_SKEL_${VAR_PREFIX}ALL_OBJS += $SKEL_OBJ    if test "x$SKEL_OBJ" = "x$CL_OBJ"    then      echo IDL_SRV_${VAR_PREFIX}ALL_OBJS += $SKEL_OBJ     else      echo IDL_SRV_${VAR_PREFIX}ALL_OBJS += $SKEL_OBJ $CL_OBJ    fi  fi  echo  echo  IDL_${VAR_PREFIX}`echo $j | tr [:lower:] [:upper:]`_CL_OBJS=$CL_OBJ  echo  IDL_${VAR_PREFIX}`echo $j | tr [:lower:] [:upper:]`_SKEL_OBJS=$SKEL_OBJ  echo  IDL_${VAR_PREFIX}`echo $j | tr [:lower:] [:upper:]`_SRV_OBJS=$CL_OBJ $SKEL_OBJ  echo  echo  "$CL_OBJ: $CL_CPP"  if test "x$CXXCOMPILE" = x  then    echo  "	\$(CXX) -c \$(IDLCXXFLAGS) \$(CXXFLAGS) -o $CL_OBJ $CL_CPP"  else    echo  "	\$(CXXCOMPILE) -c \$(IDLCXXFLAGS) -o $CL_OBJ $CL_CPP"  fi  if test ! "x$SKEL_OBJ" = "x$CL_OBJ"; then    echo  "$SKEL_OBJ: $SKEL_CPP"    if test "x$CXXCOMPILE" = "x"    then      echo  "	\$(CXX) -c \$(CXXFLAGS) $(IDLCXXFLAGS) -o $SKEL_OBJ $SKEL_CPP"    else      echo  "	\$(CXXCOMPILE) -c $(IDLCXXFLAGS) -o $SKEL_OBJ $SKEL_CPP"    fi  fi  echodoneif [ "x$SGI_MAKE" != "x" ]then  echo IDL_${VAR_PREFIX}ALL = $idl_all_var   echo IDL_CL_${VAR_PREFIX}ALL_OBJS = $idl_cl_all_objs_var  echo IDL_SKEL_${VAR_PREFIX}ALL_OBJS = $idl_skel_all_objs_var   echo IDL_SRV_${VAR_PREFIX}ALL_OBJS = $idl_srv_all_objs_varfi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -