#!/bin/sh
#set -x

# on definit les chemin necessaire pour trouver gcc, cut, etc...
PATH=/usr/distant/bin:/usr/bin
CC=gcc
export PATH

# tester la presence de /eole/atelier/commun/definition/TraiteCamiANSI.h, /ares/foug/SEC/outil/libou.h, /eole/atelier/commun/sun4/biblio/libCamiDec.a et de /ares/foug/SEC/outil/libou.a
# s'il en manque au moins un alors exit 256

# on ajoute une directive line en debut du source des fonctions de l'utilisateur 
echo '#define NBFONCTIONS ' $3 > $5/tmp.c
echo '#define INITTABFCT ' $4 >> $5/tmp.c
(echo "#line $1";cat $5/$2) >> $5/tmp.c

# compilation et edition de lien de l'executeur
$CC -o $5/$8 $7/squelette.c -I$5 -I$7 -ansi -traditional -DWallFDEBUG -L$7 -lcamiDec -lou 2> $5/tmp.err

# on recupere le code retourne par gcc
retcode=$?

# on filtre les erreurs de facon a ne conserver que celles se rapportant au fichier utilisateur
grep tmp.c $5/tmp.err | cut -d: -f2- > $5/$6 2> /dev/null
grep ld: $5/tmp.err | cut -d: -f2- >> $5/$6 2> /dev/null

# on efface les fichiers temporaires crees par les commandes precedentes
#rm $5/tmp.*

# on renvoie !=0 si la compilation c'est mal deroulee, 0 dans le cas contraire (le bon)
exit $retcode
