#!/bin/sh

function compile() {
    echo "____________________________________"
    echo "Building library: $bin0"

    ./clean
#    rm -f *.o
    for obj in $obj_list ; do
	echo "[comp] $obj.o"
        g++ $obj.cpp -c $incpath
        obj_tmp="$obj_tmp $obj.o"
    done
    echo "[link] $bin0"
    g++ --shared $obj_tmp -o $bin0 $libdeps

    if [ "$?" == "0" ] ; then

#        strip --strip-unneeded $bin0
    
        CWD=`pwd`
        mv $bin0 ../lib
        cd ../lib
        ln -s $bin0	$bin1
        ln -s $bin1	$bin2
        cd $CWD
    
        echo "____________________________________"
        echo "** $bin0 ready!"
    
#	echo "____________________________________"
    else
	echo "____________________________________"
        echo "ERROR: failed to compile $bin0"
#        echo "____________________________________"
    fi
}

function install() {
    inspref=`cat ../../inspath`
    inspath="$inspref/lib"
    CWD=`pwd`

    cd $inspath
    rm -f $bin*

    cd $CWD/../lib

    cp $bin0 $inspath/$bin0
    cd $inspath
    ln -s $bin0	$bin1
    ln -s $bin1	$bin2

    cd $CWD
    echo "$bin0 installed to $inspath"
#    echo -n "updaling shared library links... "
#    ldconfig
#    echo "done!"
}

call=$0
incpath=`cat param/inclist`

lib=`cat param/libname`
libdeps=`cat param/libdeps`
ver0=`cat param/ver0`
ver1=`cat param/ver1`
ver2=`cat param/ver2`
bin="lib$lib.so"
bin2="$bin"
bin1="$bin2.$ver0"
bin0="$bin1.$ver1.$ver2"

obj_list=`cat param/objlist`
obj_tmp=""

#if [ -r $lib.pro ] ; then
#    echo "project file found..."
#else
#    qmake -project -t lib # "INCLUDEPATH += ../qpxtransport/include"
#fi
#qmake	# this will regenerate Makefile - enable, if you have compilation problems


#obj_list="media_check_generic plextor_qcheck media_check_pioneer media_check_benq media_check_benq_rom media_check_nec media_check_liteon"
#echo "$obj_list" > objlist


#make

if [ "$call" == "./build-lib" ] ; then
    compile
fi
if [ "$call" == "./install-lib" ] ; then
    install
fi
