Whamcloud - gitweb
Fix valid uninitialized variable gcc warning.
[fs/lustre-release.git] / lustre / liblustre / genlib.sh
1 #!/bin/bash
2
3 #
4 # This script is to generate lib lustre library as a whole. It will leave
5 # two files on current directory: liblustre.a and liblustre.so.
6 # Integrate them into Makefile.am later
7 #
8
9 AR=/usr/bin/ar
10 LD=/usr/bin/ld
11
12 CWD=`pwd`
13
14 SYSIO=$1
15
16 ALL_OBJS=
17
18 build_obj_list() {
19   _objs=`$AR -t $1/$2`
20   for _lib in $_objs; do
21   ALL_OBJS=$ALL_OBJS"$1/$_lib ";
22   done;
23 }
24
25 # lustre components libs
26 build_obj_list . libllite.a
27 build_obj_list ../lov liblov.a
28 build_obj_list ../obdecho libobdecho.a
29 build_obj_list ../osc libosc.a
30 build_obj_list ../mdc libmdc.a
31 build_obj_list ../ldlm libldlm.a
32 build_obj_list ../ptlrpc libptlrpc.a
33 build_obj_list ../obdclass liblustreclass.a
34 build_obj_list ../lvfs liblvfs.a
35
36 # portals components libs
37 build_obj_list ../portals/utils libptlctl.a
38 build_obj_list ../portals/unals libtcpnal.a
39 build_obj_list ../portals/portals libportals.a
40
41 # libsysio components libs
42 build_obj_list $SYSIO/drivers/native libsysio_native.a
43 build_obj_list $SYSIO/drivers/sockets libsysio_sockets.a
44 build_obj_list $SYSIO/src libsysio.a
45 build_obj_list $SYSIO/dev/stdfd libsysio_stdfd.a
46
47
48 # create static lib
49 rm -f $CWD/liblustre.a
50 $AR -r $CWD/liblustre.a $ALL_OBJS
51
52 # create shared lib
53 rm -f $CWD/liblustre.so
54 $LD -shared -o $CWD/liblustre.so -init __liblustre_setup_ -fini __liblustre_cleanup_ \
55         $ALL_OBJS -lpthread