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

生物技术

开发平台:

C/C++

  1. #! /bin/sh
  2. # $Id: install.sh,v 1000.1 2004/06/01 17:36:25 gouriano Exp $
  3. # Authors:  Denis Vakatov    (vakatov@ncbi.nlm.nih.gov)
  4. #           Anton Lavrentiev (lavr@ncbi.nlm.nih.gov)
  5. #
  6. # Deploy sources, headers, libraries and executables for the further use
  7. # by the "external" users' projects
  8. # Cmd.-line args  -- source and destination
  9. script="$0"
  10. builddir="${1:-//u/coremake/cxx}"
  11. target="${2:-//u/coremake/public/cxx.last}"
  12. compiler="${3:-msvc710}"
  13. compiler="${compiler}_prj"
  14. if test -n "$3" ; then
  15.   echo "USAGE:  `basename $script` [build_dir] [install_dir]"
  16. fi
  17. error()
  18. {
  19.   echo "[`basename $script`] ERROR:  $1"
  20.   exit 1
  21. }
  22. makedir()
  23. {
  24.   test -d "$1"  ||  mkdir $2 "$1"  ||  error "Cannot create "$1""
  25. }
  26. echo "[`basename $script`] NCBI C++:  "$builddir" to "$target"..."
  27. sleep 2
  28. # Derive the destination dirs
  29. docdir="$target"/doc
  30. incdir="$target"/include
  31. srcdir="$target"/src
  32. altsrc="$target"/altsrc
  33. dbgdir="$target"/Debug
  34. libdir="$target"/Release
  35. bindir="$target"/bin
  36. # Check
  37. test -d "$builddir"  ||  error "Absent build dir "$builddir""
  38. # Reset the public directory
  39. test -d "$target"  &&  find "$target" -type f -exec rm -f {} ; >/dev/null 2>&1
  40. test -d "$target"  ||  mkdir -p "$target"
  41. test -d "$target"  ||  error "Cannot create target dir "$target""
  42. # Documentation
  43. makedir "$docdir" -p
  44. cp -pr "$builddir"/doc/* "$docdir"
  45. cd "$docdir"
  46. find . -type d -name CVS -exec rm -r {} ;
  47. # Include dir
  48. makedir "$incdir" -p
  49. cp -pr "$builddir"/include/* "$incdir"
  50. cd "$incdir"
  51. find . -type d -name CVS -exec rm -r {} ;
  52. # Source dir
  53. makedir "$srcdir" -p
  54. cp -pr "$builddir"/src/* "$srcdir"
  55. cd "$srcdir"
  56. find . -type d -name CVS -exec rm -r {} ;
  57. # Debug src/inc dir -- put everything (sources, headers) into a single blob
  58. makedir "$altsrc" -p
  59. cd "$srcdir"
  60. x_dirs=`find . -type d -print`
  61. for ddd in $x_dirs ; do
  62.   cd "$srcdir/$ddd"
  63.   cp -p *.[ch]pp "$altsrc" >/dev/null 2>&1
  64.   cp -p *.[ch]   "$altsrc" >/dev/null 2>&1
  65.   cp -p *.inl    "$altsrc" >/dev/null 2>&1
  66. done
  67. cd "$incdir"
  68. x_dirs=`find . -type d -print`
  69. for ddd in $x_dirs ; do
  70.   cd "$incdir/$ddd"
  71.   cp -p *.* "$altsrc" >/dev/null 2>&1
  72. done
  73. # Libraries
  74. for i in 'Debug' 'Release' ; do
  75.   for j in '' 'DLL' ; do
  76.     if test -d "$builddir"/compilers/$compiler/static/lib/$i$j ; then
  77.       makedir "$target/$i$j" -p
  78.       cd "$builddir"/compilers/$compiler/static/lib/$i$j
  79.       cp -p *.lib "$target/$i$j"
  80.     fi
  81.     if test -d "$builddir"/compilers/$compiler/dll/bin/$i$j ; then
  82.       cd "$builddir"/compilers/$compiler/dll/bin/$i$j
  83.       cp -p *.lib *.dll *.exp "$target/$i$j"
  84.     fi
  85.   done
  86. done
  87. # Executables
  88. makedir "$bindir" -p
  89. for i in 'DLL' '' ; do
  90.   if test -d "$builddir"/compilers/$compiler/static/bin/Release$i ; then
  91.     if ls "$builddir"/compilers/$compiler/static/bin/Release$i/*.exe >/dev/null 2>&1 ; then
  92.       cd "$builddir"/compilers/$compiler/static/bin/Release$i
  93.       cp -p *.exe *.dll *.exp "$bindir"
  94.       break
  95.     fi
  96.   fi
  97. done
  98. # Gbench public installation
  99. #for i in ReleaseDLL DebugDLL; do
  100. #  if test -d "$builddir"/compilers/$compiler/dll/bin/"$i" ; then
  101. #    makedir "$bindir"/gbench/"$i" -p
  102. #    cp -pr "$builddir"/compilers/$compiler/dll/bin/$i/gbench/* "$bindir"/gbench/"$i"
  103. #  fi
  104. #done
  105. # CVS checkout info file
  106. cp -p "$builddir"/cvs_info "$target"
  107. exit 0
  108. #  ===========================================================================
  109. #  PRODUCTION $Log: install.sh,v $
  110. #  PRODUCTION Revision 1000.1  2004/06/01 17:36:25  gouriano
  111. #  PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.6
  112. #  PRODUCTION
  113. #  ===========================================================================