2
# $Id: install.sh,v 1.2 2011/03/21 13:56:07 ivanov Exp $
3
# Authors: Denis Vakatov (vakatov@ncbi.nlm.nih.gov)
4
# Vladimir Ivanov (ivanov@ncbi.nlm.nih.gov)
5
# Anton Lavrentiev (lavr@ncbi.nlm.nih.gov)
7
# Deploy sources, headers, libraries and executables for the further use
8
# by the "external" users' projects
10
# Cmd.-line args -- source, destination and architecture
12
builddir="${1:-//u/coremake/ncbi}"
13
target="${2:-//u/coremake/public/ncbi.last}"
14
compiler="${3:-msvc1000}"
15
compiler="${compiler}_prj"
18
test "$arg_arch" = "64" && arch="x64/"
21
if test -n "$4" ; then
22
echo "USAGE: `basename $script` [build_dir] [install_dir] [32|64]"
28
echo "[`basename $script`] ERROR: $1"
35
test -d "$1" || mkdir $2 "$1" || error "Cannot create \"$1\""
39
echo "[`basename $script`] NCBI C: \"$builddir\" to \"$target\"..."
43
# Derive the destination dirs
44
incdir="$target"/include
48
errdir="$target"/errmsg
50
# Alternate dirs (mirrors)
51
srcdir_a="$target"/altsrc
52
dbgdir_a="$target"/dbglib
53
libdir_a="$target"/lib
56
test -d "$builddir" || error "Absent build dir \"$builddir\""
59
# Reset the public directory
60
test -d "$target" && find "$target" -type f -exec rm -f {} \; >/dev/null 2>&1
61
test -d "$target" || mkdir -p "$target"
62
test -d "$target" || error "Cannot create target dir \"$target\""
68
makedir "$incdir"/algo/blast -p
69
makedir "$incdir"/algo/blast/api
70
makedir "$incdir"/algo/blast/core
71
makedir "$incdir"/algo/blast/composition_adjustment
72
makedir "$srcdir"/algo/blast/composition_adjustment -p
73
makedir "$incdir"/connect
74
makedir "$incdir"/ctools
75
makedir "$srcdir"/access
76
makedir "$srcdir"/algo
77
makedir "$srcdir"/algo/blast
78
makedir "$srcdir"/algo/blast/api
79
makedir "$srcdir"/algo/blast/core
81
makedir "$srcdir"/asnlib
82
makedir "$srcdir"/biostruc
83
makedir "$srcdir"/biostruc/cdd
84
makedir "$srcdir"/biostruc/cn3d
85
makedir "$srcdir"/cdromlib
86
makedir "$srcdir"/cn3d
87
makedir "$srcdir"/corelib
88
makedir "$srcdir"/connect
89
makedir "$srcdir"/connect/test
90
makedir "$srcdir"/ctools
92
makedir "$srcdir"/demo
93
makedir "$srcdir"/desktop
95
makedir "$srcdir"/network/blast3/client -p
96
makedir "$srcdir"/network/entrez/client -p
97
makedir "$srcdir"/network/id1arch -p
98
makedir "$srcdir"/network/medarch/client -p
99
makedir "$srcdir"/network/nsclilib -p
100
makedir "$srcdir"/network/spell/client -p
101
makedir "$srcdir"/network/taxon1/common -p
102
makedir "$srcdir"/network/taxon1/taxon2 -p
103
makedir "$srcdir"/network/vibnet -p
104
makedir "$srcdir"/object
105
makedir "$srcdir"/sequin
106
makedir "$srcdir"/tools
107
makedir "$srcdir"/vibrant
108
makedir "$srcdir"/util/creaders -p
109
makedir "$srcdir"/util/tables -p
113
makedir "$srcdir_a" -p
114
makedir "$dbgdir_a" -p
115
makedir "$libdir_a" -p
120
cp -p "$builddir"/corelib/tsprintf.h "$incdir"
121
cp -p "$builddir"/corelib/gifgen.h "$incdir"
122
cp -p "$builddir"/corelib/ncbi*.h "$incdir"
123
cp -p "$builddir"/corelib/tree*.h "$incdir"
124
cp -p "$builddir"/corelib/matrix.h "$incdir"
125
cp -p "$builddir"/corelib/binary.h "$incdir"
126
cp -p "$builddir"/corelib/*.c "$srcdir"/corelib
127
cp -p "$builddir"/corelib/core*.h "$srcdir"/corelib
128
cp -p "$builddir"/corelib/regex.h "$incdir"
129
cp -p "$builddir"/algo/blast/api/*.c "$srcdir"/algo/blast/api
130
cp -p "$builddir"/algo/blast/api/*.h "$incdir"/algo/blast/api
131
cp -p "$builddir"/algo/blast/core/*.c "$srcdir"/algo/blast/core
132
cp -p "$builddir"/algo/blast/core/*.h "$incdir"/algo/blast/core
133
cp -p "$builddir"/algo/blast/composition_adjustment/*.c "$srcdir"/algo/blast/composition_adjustment
134
cp -p "$builddir"/algo/blast/composition_adjustment/*.h "$incdir"/algo/blast/composition_adjustment
135
cp -p "$builddir"/asnlib/*.h "$srcdir"/asnlib
136
mv "$srcdir"/asnlib/asn.h "$incdir"
137
cp -p "$builddir"/asnlib/*.c "$srcdir"/asnlib
138
cp -p "$builddir"/connect/*.c "$srcdir"/connect
139
cp -p "$builddir"/connect/ncbi_priv.h "$srcdir"/connect
140
cp -p "$builddir"/connect/ncbi_comm.h "$srcdir"/connect
141
cp -p "$builddir"/connect/ncbi_host_infop.h "$srcdir"/connect
142
cp -p "$builddir"/connect/ncbi_server_infop.h "$srcdir"/connect
143
cp -p "$builddir"/connect/ncbi_servicep.h "$srcdir"/connect
144
cp -p "$builddir"/connect/ncbi_dispd.h "$srcdir"/connect
145
cp -p "$builddir"/connect/ncbi_lbsmd.h "$srcdir"/connect
146
cp -p "$builddir"/connect/*.h "$incdir"
147
mv "$incdir"/ncbi_*.h "$incdir"/connect
148
mv "$incdir"/connect_export.h "$incdir"/connect
149
cp -p "$builddir"/connect/test/*.[ch] "$srcdir"/connect/test
150
cp -p "$builddir"/ctools/*.c "$srcdir"/ctools
151
cp -p "$builddir"/ctools/*.h "$incdir"/ctools
152
cp -p "$builddir"/object/*.c "$srcdir"/object
153
cp -p "$builddir"/object/*.h "$incdir"
154
cp -p "$builddir"/access/*.c "$srcdir"/access
155
cp -p "$builddir"/access/*.h "$incdir"
156
cp -p "$builddir"/asnstat/*.h "$incdir"
157
cp -p "$builddir"/api/*.c "$srcdir"/api
158
cp -p "$builddir"/api/*.h "$incdir"
159
cp -p "$builddir"/cdromlib/*.c "$srcdir"/cdromlib
160
cp -p "$builddir"/cdromlib/*.h "$incdir"
161
cp -p "$builddir"/biostruc/*.c "$srcdir"/biostruc
162
cp -p "$builddir"/biostruc/*.h "$incdir"
163
cp -p "$builddir"/biostruc/cdd/*.c "$srcdir"/biostruc/cdd
164
cp -p "$builddir"/biostruc/cdd/*.h "$incdir"
165
cp -p "$builddir"/biostruc/cn3d/*.c "$srcdir"/biostruc/cn3d
166
cp -p "$builddir"/biostruc/cn3d/*.h "$incdir"
167
cp -p "$builddir"/tools/*.c "$srcdir"/tools
168
cp -p "$builddir"/tools/*.h "$incdir"
169
cp -p "$builddir"/link/mswin/ncbirc.h "$srcdir"
170
cp -p "$builddir"/vibrant/*.c "$srcdir"/vibrant
171
cp -p "$builddir"/vibrant/*.h "$incdir"
172
cp -p "$builddir"/desktop/*.c "$srcdir"/desktop
173
cp -p "$builddir"/desktop/*.h "$incdir"
174
cp -p "$builddir"/gif/*.c "$srcdir"/gif
175
cp -p "$builddir"/gif/*.h "$incdir"
176
cp -p "$builddir"/cn3d/*.c "$srcdir"/cn3d
177
cp -p "$builddir"/cn3d/*.h "$incdir"
178
cp -p "$builddir"/ddv/*.c "$srcdir"/ddv
179
cp -p "$builddir"/ddv/*.h "$incdir"
180
cp -p "$builddir"/util/creaders/*.c "$srcdir"/util/creaders
181
cp -p "$builddir"/util/creaders/*.h "$incdir"
182
cp -p "$builddir"/util/tables/*.c "$srcdir"/util/tables
183
cp -p "$builddir"/util/tables/*.h "$incdir"
188
cp -p "$builddir"/network/entrez/client/*.c "$srcdir"/network/entrez/client
189
cp -p "$builddir"/network/entrez/client/*.h "$incdir"
190
cp -p "$builddir"/network/nsclilib/*.c "$srcdir"/network/nsclilib
191
cp -p "$builddir"/network/nsclilib/*.h "$incdir"
192
cp -p "$builddir"/network/medarch/client/*.c "$srcdir"/network/medarch/client
193
cp -p "$builddir"/network/medarch/client/*.h "$incdir"
194
cp -p "$builddir"/network/taxon1/common/*.c "$srcdir"/network/taxon1/common
195
cp -p "$builddir"/network/taxon1/common/*.h "$incdir"
196
cp -p "$builddir"/network/taxon1/taxon2/*.c "$srcdir"/network/taxon1/taxon2
197
cp -p "$builddir"/network/taxon1/taxon2/*.h "$incdir"
198
cp -p "$builddir"/network/blast3/client/*.c "$srcdir"/network/blast3/client
199
cp -p "$builddir"/network/blast3/client/*.h "$incdir"
200
cp -p "$builddir"/network/id1arch/*.c "$srcdir"/network/id1arch
201
cp -p "$builddir"/network/id1arch/*.h "$incdir"
202
cp -p "$builddir"/network/spell/client/*.c "$srcdir"/network/spell/client
203
cp -p "$builddir"/network/spell/client/*.h "$incdir"
204
cp -p "$builddir"/demo/*.c "$srcdir"/demo
205
cp -p "$builddir"/sequin/*.c "$srcdir"/sequin
206
cp -p "$builddir"/sequin/*.h "$incdir"
207
cp -p "$builddir"/network/vibnet/*.c "$srcdir"/network/vibnet
208
cp -p "$builddir"/network/vibnet/*.h "$incdir"
211
# Copy generated files
213
for i in 'Debug' 'Release' ; do
214
for j in '' 'DLL' ; do
216
if test -d "$builddir"/make/$compiler/corelib/ncbi/$cfg ; then
218
makedir "$target/$i$j" -p
219
cp -p "$builddir"/make/$compiler/corelib/ncbimain/$cfg/ncbimain.obj "$target/$i$j"
220
cp -p "$builddir"/make/$compiler/corelib/ncbi/$cfg/ncbithr.obj "$target/$i$j"
222
cp -p `find "$builddir" -name '*.lib' | grep "$cfg/"` "$target/$i$j"
227
# Executables (one of ReleaseDLL, Release)
228
for i in 'DLL' '' ; do
229
if test -d "$builddir"/make/$compiler/corelib/ncbi/${arch}Release$i ; then
230
cp -p `find "$builddir" -name '*.exe' | grep "${arch}Release$i/"` "$bindir"
236
cp -pr "$builddir"/data/* "$datdir"
237
cp -pr "$builddir"/errmsg/* "$errdir"
240
# Fill alt source tree
242
x_dirs=`find . -type d -print`
243
for ddd in $x_dirs ; do
245
cp -p *.[ch] "$srcdir_a"
250
if test -d "$target"/DebugDLL ; then
251
cp -p "$target"/DebugDLL/*.* "$dbgdir_a"
253
if test -d "$target"/ReleaseDLL ; then
254
cp -p "$target"/ReleaseDLL/*.* "$libdir_a"
258
# CVS checkout info file
259
cp -p "$builddir"/checkout_info "$target"