one2one.sh
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:3k
源码类别:

生物技术

开发平台:

C/C++

  1. #! /bin/sh
  2. #
  3. # $Id: one2one.sh,v 1000.0 2003/10/29 14:25:22 gouriano Exp $
  4. # ===========================================================================
  5. #                            PUBLIC DOMAIN NOTICE
  6. #               National Center for Biotechnology Information
  7. #  This software/database is a "United States Government Work" under the
  8. #  terms of the United States Copyright Act.  It was written as part of
  9. #  the author's official duties as a United States Government employee and
  10. #  thus cannot be copyrighted.  This software/database is freely available
  11. #  to the public for use. The National Library of Medicine and the U.S.
  12. #  Government have not placed any restriction on its use or reproduction.
  13. #  Although all reasonable efforts have been taken to ensure the accuracy
  14. #  and reliability of the software and data, the NLM and the U.S.
  15. #  Government do not and cannot warrant the performance or results that
  16. #  may be obtained by using this software or data. The NLM and the U.S.
  17. #  Government disclaim all warranties, express or implied, including
  18. #  warranties of performance, merchantability or fitness for any particular
  19. #  purpose.
  20. #  Please cite the author in any work or product based on this material.
  21. # ===========================================================================
  22. # Author:  Anton Lavrentiev
  23. # MSVC project file converter. Change configuration in a
  24. # single configuration project file.
  25. #
  26. # ===========================================================================
  27. usage() {
  28.   echo 'Automatic single config for Microsoft Visual C++ Project File V 6.0'
  29.   echo 'Usage:'
  30.   echo `basename $0` '[--without-dizzy] filename config'
  31.   exit 1
  32. }
  33. if [ _$1 = _--without-dizzy ]; then
  34.   without_dizzy="$1"
  35.   shift
  36. else
  37.   without_dizzy=""
  38. fi
  39. if [ _$1 = _ -o _$2 = _ ]; then
  40.   usage
  41. elif [ ! -f $1 ]; then
  42.   echo "ERROR: File "$1" must exist. Stop."
  43.   exit 3
  44. fi
  45. dir=`dirname $0`
  46. if [ ! -x ${dir:-.}/all2one.sh ]; then
  47.   echo "ERROR: Script "${dir:-.}/all2one.sh" not found. Stop."
  48.   exit 3
  49. fi
  50. if [ ! -x ${dir:-.}/one2all.sh ]; then
  51.   echo "ERROR: Script "${dir:-.}/one2all.sh" not found. Stop."
  52.   exit 3
  53. fi
  54. file=/tmp/$$_file
  55. cp -f $1 $file
  56. ${dir:-.}/one2all.sh $without_dizzy $file </dev/null >/tmp/$$_list 2>&1
  57. exit=$?
  58. if [ `head -1 /tmp/$$_list | grep -c 'ERROR'` != 0 ]; then
  59.   cat /tmp/$$_list | sed -e "s|$file|$1|g"
  60.   rm -f /tmp/$$_list $file
  61.   exit $exit
  62. fi
  63. rm -f $file.bak
  64. ${dir:-.}/all2one.sh $file $2 </dev/null >/tmp/$$_list 2>&1
  65. if [ `tail -1 /tmp/$$_list | grep -c 'ERROR'` != 0 ]; then
  66.   cat /tmp/$$_list | sed -e "s|$file|$1|g"
  67.   rm -f /tmp/$$_list $file
  68.   exit $exit
  69. fi
  70. rm -f $file.bak
  71. echo "${1}:" Configured 
  72. "
  73. `tail -1 /tmp/$$_list | sed -e 's|^.* "||' -e 's|" .*$||'`
  74. "
  75. mv -f $1 $1.bak
  76. PATH=$PATH:/usr/sbin:/sbin
  77. doser='sed -e s/$/ /'
  78. if [ `echo $OSTYPE   2>&1 | grep -c -i cygwin` -ge 1 -o  
  79.      `echo $MACHTYPE 2>&1 | grep -c -i cygwin` -ge 1 -o  
  80.      `mount          2>&1 | grep -c -i cygwin` -ge 1 ]; then
  81.   echo >$1
  82.   test "`ls -l $1 | tr 't' ' ' | sed 's/  */ /g' | cut -f5 -d' '`" != "1"  && 
  83.     doser='sed -n p'
  84. fi
  85. $doser $file >$1
  86. rm -f $file /tmp/$$_list
  87. touch -r $1.bak $1
  88. exit 0
  89. #  ===========================================================================
  90. #  PRODUCTION $Log: one2one.sh,v $
  91. #  PRODUCTION Revision 1000.0  2003/10/29 14:25:22  gouriano
  92. #  PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.10
  93. #  PRODUCTION
  94. #  ===========================================================================