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

生物技术

开发平台:

C/C++

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