From d7f666db1a978f1dc6020159b87b87aa978b5394 Mon Sep 17 00:00:00 2001 From: ericm Date: Tue, 4 Nov 2003 04:36:16 +0000 Subject: [PATCH] liblustre: improve the makefile. and generation of shared libs. --- lustre/liblustre/genlib.sh | 81 +++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/lustre/liblustre/genlib.sh b/lustre/liblustre/genlib.sh index e80e28d..24d60aa 100755 --- a/lustre/liblustre/genlib.sh +++ b/lustre/liblustre/genlib.sh @@ -11,45 +11,44 @@ LD=/usr/bin/ld CWD=`pwd` -LUS=$CWD/../ -PTL=$LUS/portals -SYSIO=$LUS/../libsysio - -TMP=/tmp/llib_tmp - -LLLIBS="$LUS/liblustre/libllite.a \ - $SYSIO/src/libsysio.a \ - $SYSIO/dev/stdfd/libsysio_stdfd.a \ - $SYSIO/drivers/native/libsysio_native.a \ - $SYSIO/drivers/sockets/libsysio_sockets.a \ - $LUS/lov/liblov.a \ - $LUS/osc/libosc.a \ - $LUS/ldlm/libldlm.a \ - $LUS/ptlrpc/libptlrpc.a \ - $LUS/obdclass/liblustreclass.a \ - $LUS/mdc/libmdc.a \ - $PTL/unals/libtcpnal.a \ - $PTL/portals/libportals.a \ - $PTL/utils/libptlctl.a" - -rm -rf $TMP -mkdir -p $TMP - -i=0 -for lib in $LLLIBS; do - mkdir $TMP/$i - cd $TMP/$i - $AR x $lib - i=$(($i+1)) -done - -cd $TMP - -# static lib -ar -r $CWD/liblustre.a `find . -type f` - -# shared lib +SYSIO=$1 + +ALL_OBJS= + +build_obj_list() { + _objs=`$AR -t $1/$2` + for _lib in $_objs; do + ALL_OBJS=$ALL_OBJS"$1/$_lib "; + done; +} + +# lustre components libs +build_obj_list . libllite.a +build_obj_list ../lov liblov.a +build_obj_list ../obdecho libobdecho.a +build_obj_list ../osc libosc.a +build_obj_list ../mdc libmdc.a +build_obj_list ../ldlm libldlm.a +build_obj_list ../ptlrpc libptlrpc.a +build_obj_list ../obdclass liblustreclass.a + +# portals components libs +build_obj_list ../portals/utils libptlctl.a +build_obj_list ../portals/unals libtcpnal.a +build_obj_list ../portals/portals libportals.a + +# libsysio components libs +build_obj_list $SYSIO/drivers/native libsysio_native.a +build_obj_list $SYSIO/drivers/sockets libsysio_sockets.a +build_obj_list $SYSIO/src libsysio.a +build_obj_list $SYSIO/dev/stdfd libsysio_stdfd.a + + +# create static lib +rm -f $CWD/liblustre.a +$AR -r $CWD/liblustre.a $ALL_OBJS + +# create shared lib +rm -f $CWD/liblustre.so $LD -shared -o $CWD/liblustre.so -init __liblustre_setup_ -fini __liblustre_cleanup_ \ - `find . -type f` -lpthread -lreadline -lncurses - -cd $CWD + $ALL_OBJS -- 1.8.3.1