#!/bin/bash

#  This file is part of EST (Efficient Symbolic Tools).
#  Copyright (C) 2003, 2012
#  UM-FERI, Smetanova ulica 17, SI-2000 Maribor, Slovenia
#
#  EST is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as
#  published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  EST is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public
#  License along with this program; if not, write to the Free
#  Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
#  Boston, MA 02110-1301 USA.]

# HELP: this is used for profiling
# HELP: you need staticaly linked program
#
# USAGE: do-lcov directory program
#
# EXAMPLE: ./do-gcov data/sudoku/ sudoku
# EXAMPLE: /do-gcov project/wca wca

# PREPARE GCOV
home=`pwd`
danes=`date +"%Y-%m-%d-%H-%M"`
logfile="/home/meolic/est/est-2ed/gcov-$danes/logfile"
mkdir -p "/home/meolic/est/est-2ed/gcov-$danes"
echo $danes > $logfile
echo "" >> $logfile

cd /home/meolic/est/est-2ed/bin
rm -f *.da
rm -f *.gcda
rm -f *.gcov

# START PROJECT
cd /home/meolic/est/est-2ed/$1
./$2

# GENERATE ANOTATED SOURCES
cd /home/meolic/est/est-2ed/bin

ln -fs /home/meolic/est/biddy/bddMain.c
gcov bddMain.c >> $logfile

ln -fs /home/meolic/est/biddy/bddRel.c
gcov bddRel >> $logfile

ln -fs /home/meolic/est/biddy/bddExpr.c
gcov bddExpr >> $logfile

ln -fs /home/meolic/est/biddy/bddStat.c
gcov bddStat >> $logfile

ln -fs /home/meolic/est/biddy/bddOutput.c
gcov bddOutput >> $logfile

ln -fs /home/meolic/est/est-2ed/source/pa/paMain.c
gcov paMain >> $logfile

ln -fs /home/meolic/est/est-2ed/source/pa/paKod.c
gcov paKod >> $logfile

ln -fs /home/meolic/est/est-2ed/source/pa/paOutput.c
gcov paOutput >> $logfile

ln -fs /home/meolic/est/est-2ed/source/versis/versisMain.c
gcov versisMain >> $logfile

ln -fs /home/meolic/est/est-2ed/source/versis/versisThread.c
gcov versisThread >> $logfile

ln -fs /home/meolic/est/est-2ed/source/versis/versisComp.c
gcov versisComp >> $logfile

ln -fs /home/meolic/est/est-2ed/source/versis/versisEqv.c
gcov versisEqv >> $logfile

ln -fs /home/meolic/est/est-2ed/source/versis/versisMin.c
gcov versisMin >> $logfile

ln -fs /home/meolic/est/est-2ed/source/mc/mcMain.c
gcov mcMain >> $logfile

ln -fs /home/meolic/est/est-2ed/source/mc/mcThread.c
gcov mcThread >> $logfile

ln -fs /home/meolic/est/est-2ed/source/mc/mcDiagnostic.c
gcov mcDiagnostic >> $logfile

ln -fs /home/meolic/est/est-2ed/source/mc/mcAutomata.c
gcov mcAutomata >> $logfile

ln -fs /home/meolic/est/est-2ed/source/mc/mcTree.c
gcov mcTree >> $logfile

ln -fs /home/meolic/est/est-2ed/source/strucval/strucvalMain.c
gcov strucvalMain >> $logfile

ln -fs /home/meolic/est/est-2ed/source/strucval/strucvalThread.c
gcov strucvalThread >> $logfile

ln -fs /home/meolic/est/est-2ed/source/ccs/ccsMain.c
gcov ccsMain >> $logfile

# COLLECT STATISTIC
mv *.gcov "/home/meolic/est/est-2ed/gcov-$danes/"

# RESTORE DIRECTORY
cd $home
