#! /bin/sh
#
#
case `/bin/uname` in
HP-UX )
	ECHO=echo
	REMSH=remsh
	;;
	
SunOS )
	ECHO=echo
	REMSH=remsh
	;;

Linux )
	ECHO="echo -e"
	REMSH=rsh
	;;
esac
#
if [ $# = 0 ]
then
	$ECHO "\nusage:  make_all system\n"
	$ECHO "\nTo generate Tango C++ librairies for HP-UX, Linux,"
        $ECHO "Solaris and NT simply type make_all all"
	$ECHO "This script is written to be used from CORVUS\n"
	$ECHO "To generate Tango C++ libraries from HP-UX, type make_all hpux"
	$ECHO "To generate Tango C++ libraries from Solaris, type make_all solaris"
	$ECHO "To generate Tango C++ libraries from Linux, type make_all linux"
	$ECHO "To generate Tango C++ libraries from NT, type make_all nt\n"
	$ECHO "To generate Tango C++ classes documentation, type make_all doc\n"
	$ECHO "To install libraries, type make_all install version (as a member of the dserver group)"
	$ECHO "To install include files, type make_all install_incl (as member of the dserver group)"
	$ECHO "To install doc, type make_all install_doc (as member of the dserver group)"
	exit 1
fi
#
#	Path to server makefile
#
LIB_PATH=/segfs/tango/cppserver/device
#LIB=/segfs/tango/lib
LIB=/segfs/tango/tmp/tango2/lib
#INCL=/segfs/tango/include
INCL=/segfs/tango/tmp/tango2/include
INCL_HP=$INCL/hpux102
INCL_SOL=$INCL/solaris7
INCL_SUSE=$INCL/suse64
INCL_WIN=$INCL/winnt
TANGO_CPPDOC_HOME=/segfs/tango/doc/www/tango/tango_doc/cpp_doc
#
#
#
DSLOGIN=taurel
DSLOGIN_LINUX=taurel
HOME=`pwd`
#
#
HPHOST=libra
SOLHOST=corvus
LINUXHOST=amber-b
NTHOST=lucia
#
#
#	make HP 
#
make_hp () {
echo "  PATH=/opt/aCC/bin:/segfs/dserver/make/bin:/segfs/dserver/make/bin/s700:$PATH; \
	export PATH; \
	cd $LIB_PATH; \
      	hpux10make clean; \
	hpux10make copy_objs; \
      	hpux10make all; \
	hpux10make clean" \
      	| $REMSH $HPHOST -l $DSLOGIN sh
}
#
#	make solaris 
#
make_solaris () {
echo "  PATH=/opt/gnu/bin:/segfs/dserver/make/bin:/segfs/dserver/make/bin/solaris:/usr/ccs/bin:/usr/ucb:/opt/rcs/bin:$PATH; \
	export PATH; \
	cd $LIB_PATH; \
      	solmake clean; \
	solmake copy_objs; \
      	solmake all; \
	solmake clean" \
      	| $REMSH $SOLHOST -l $DSLOGIN sh
}
#
#	make linux 
#
make_linux () {
echo "  PATH=/segfs/dserver/make/bin:/bin:/usr/bin:/usr/local/bin; \
	export PATH; \
	cd $LIB_PATH; \
      	linuxmake clean; \
	linuxmake copy_objs; \
      	linuxmake all; \
	linuxmake clean" \
      	| $REMSH $LINUXHOST -l $DSLOGIN_LINUX sh
}
#
#	make NT 
#
make_NT () {
echo "  PATH=/segfs/dserver/make/bin:/bin:/usr/bin:/usr/local/bin; \
	export PATH; \
	cd $LIB_PATH; \
      	nmake clean; \
      	nmake all; \
	nmake clean" \
      	| remsh $LINUXHOST -l $DSLOGIN sh
}
#
#	make doc
#
make_doc () {
echo "  PATH=/segfs/dserver/make/bin:/bin:/usr/bin:/usr/local/bin; \
	export PATH; \
	cd $LIB_PATH; \
	linuxmake doc" \
      	| remsh amber -l taurel sh
}
#
#	make install
#
make_install () {
VERSION=$1
$ECHO "Installing libraries for hp system"
mv $LIB/hpux102/libtango.a $LIB/hpux102/libtango.a.running
cp hpux10.2/libtango.a $LIB/hpux102/libtango.$VERSION.a
ln -s $LIB/hpux102/libtango.$VERSION.a $LIB/hpux102/libtango.a
mv $LIB/hpux102/libtango.sl $LIB/hpux102/libtango.sl.running
cp hpux10.2/libtango.sl $LIB/hpux102/libtango.$VERSION.sl
ln -s $LIB/hpux102/libtango.$VERSION.sl $LIB/hpux102/libtango.sl
#
$ECHO "\nInstalling libraries for solaris system"
mv $LIB/solaris7/libtango.a $LIB/solaris7/libtango.a.running
cp solaris/libtango.a $LIB/solaris7/libtango.$VERSION.a
ln -s $LIB/solaris7/libtango.$VERSION.a $LIB/solaris7/libtango.a
mv $LIB/solaris7/libtango.so $LIB/solaris7/libtango.so.running
cp solaris/libtango.so $LIB/solaris7/libtango.$VERSION.so
ln -s $LIB/solaris7/libtango.$VERSION.so $LIB/solaris7/libtango.so
#
$ECHO "\nInstalling libraries for linux system"
mv $LIB/suse64/libtango.a $LIB/suse64/libtango.a.running
cp suse64/libtango.a $LIB/suse64/libtango.$VERSION.a
ln -s $LIB/suse64/libtango.$VERSION.a $LIB/suse64/libtango.a
mv $LIB/suse64/libtango.so $LIB/suse64/libtango.so.running
cp suse64/libtango.so $LIB/suse64/libtango.$VERSION.so
ln -s $LIB/suse64/libtango.$VERSION.so $LIB/suse64/libtango.so
#
$ECHO "\nInstalling libraries for NT system"
cp winnt_lib/tango_static/debug/tango.lib $LIB/winnt/debug
cp winnt_lib/tango_static/debug/tango_static.res $LIB/winnt/debug
cp winnt_lib/tango_static/release/tango.lib $LIB/winnt/release
cp winnt_lib/tango_static/release/tango_static.res $LIB/winnt/release
}
#
#	make install_incl
#
make_install_incl () {
cp idl/*.h $INCL_HP/idl
cp idl/*.h $INCL_SOL/idl
cp idl/*.h $INCL_SUSE/idl
cp idl/*.h $INCL_WIN/idl

cp *.h $INCL_HP
cp *.h $INCL_SOL
cp *.h $INCL_SUSE
cp *.h $INCL_WIN
}
#
#	make install_doc
#
make_install_doc () {
$ECHO "Installing TangoDs package documentation"
cd doc_html;tar cvf /tmp/TangoCpp.doc *
rm -Rf $TANGO_CPPDOC_HOME
mkdir $TANGO_CPPDOC_HOME
cd $TANGO_CPPDOC_HOME;tar xvf /tmp/TangoCpp.doc
chmod -R g+w $TANGO_CPPDOC_HOME
chgrp -R dserver $TANGO_CPPDOC_HOME
rm /tmp/TangoCpp.doc
}
#
#	execute function for choosen system
#
case $1 in
hpux ) 
	$ECHO "\n Make library for hpux10 system\n "
	$ECHO "\n LIB_PATH:  $LIB_PATH\n "
	make_hp
	exit 0 ;;
#
solaris ) 
	$ECHO "\n Make librray for solaris system\n "
	$ECHO "\n LIB_PATH:  $LIB_PATH\n "
	make_solaris
	exit 0 ;;
#
linux ) 
	$ECHO "\n Make library for linux system\n "
	$ECHO "\n LIB_PATH:  $LIB_PATH\n "
	make_linux
	exit 0 ;;
#
nt ) 
	$ECHO "\n Make library for NT system\n "
	$ECHO "\n LIB_PATH:  $LIB_PATH\n "
	make_nt
	exit 0 ;;
#
all )
	$ECHO " Make Tango library for HP-UX system"
	$ECHO ""
	$ECHO "LIB_PATH; $LIB_PATH"
	$ECHO ""
	make_hp
	$ECHO ""
	$ECHO " Make Tango library for solaris system"
	$ECHO ""
	$ECHO "LIB_PATH; $LIB_PATH"
	$ECHO ""
	make_solaris
	$ECHO "\n Make Tango library for linux system\n"
	$ECHO "\n LIB_PATH; $LIB_PATH\n"
	make_linux
	$ECHO "\n Make Tango library for NT system\n"
	$ECHO "\n LIB_PATH; $LIB_PATH\n"
#	make_nt
	exit 0 ;;
#
doc )
	$ECHO "\nGenerating Tango C++ classes HTML documentation"
	make_doc
	exit 0 ;;
#
install )
	if [ $# = 1 ]
	then
		$ECHO "To install libraries, type make_all install version (as a member of the dserver group)"
		exit 1
	fi
	$ECHO "\nInstall Tango librairies in appropiate directories"
	VERS=$2
	make_install $VERS
	exit 0 ;;
#
install_incl )
	$ECHO "\nInstall Tango include files in appropriate directories"
	make_install_incl
	exit 0 ;;
#
install_doc )
	$ECHO "\nInstall Tango C++ classes documentation in appropriate directories"
	make_install_doc
	exit 0 ;;
#
esac
#
$ECHO "\n Unknown system specification !\n"
exit 1
#
#
