
Ce fichier explique comment compiler separement un outil de lcrzoex.

Si vous cherchez comment compiler lcrzoex, vous ne lisez pas le bon
fichier. Lisez ../INSTALLUNIX_FR.TXT.

Si vous voulez compiler un petit programme avec lcrzo, c'est
plus simple que ce qui est explique ici : suivez la procedure 
indiquee dans lcrzo-4.xx-src/doc/compilunix_fr.txt.


Pour compiler un fichier lcrzoex_000iii.c, il y a deux methodes :
 - rapide, mais peu evolutive
 - longue, mais tres evolutive
Dans les deux cas, l'outil 170 est pris en exemple.

----------------
METHODE RAPIDE :
 - aller dans le repertoire source :
     cd ../src
 - copier lcrzoex_000170.c en monprog.c
     cp lcrzoex_000170.c monprog.c
 - editer monprog.c afin de renommer
     int lcrzoex_000170_main(int argc, char *argv[]);
   en
     int main(int argc, char *argv[]);
 - compiler :
     make monprog
 - vous pouvez maintenant faire les modifications que vous desirez
   dans monprog.c.

L'inconvenient de cette methode est que le programme ne compile 
facilement que si il est dans le repertoire src. Si on veut
qu'il compile independamment de lcrzoex, il faut utiliser la
deuxieme methode.

----------------
METHODE LONGUE :
 - aller dans le repertoire de travail :
     cd /data/work
 - copier lcrzoex_000170.c en monprog.c
     cp /src/lcrzoex-4.xx-src/src/lcrzoex_000170.c monprog.c
 - editer monprog.c afin de renommer
     int lcrzoex_000170_main(int argc, char *argv[]);
   en
     int main(int argc, char *argv[]);
 - copier lcrzoex.h et lcrzoex_defs.h dans /data/work
     cp /src/lcrzoex-4.xx-src/src/lcrzoex.h .
     cp /src/lcrzoex-4.xx-src/src/lcrzoex_defs.h .
 - creer le repertoire /data/work/shared
     mkdir /data/work/shared
 - copier shared/shared_*.h dans /data/work/shared
     cp /src/lcrzoex-4.xx-src/src/shared/shared_*.h /data/work/shared
 - compiler avec :
     gcc -Wall -ansi -o monprog monprog.c `lcrzo-config -lc` 
 - on obtient alors les erreurs suivantes :
     undefined reference to 'shared_lcrzoex_infos_print'
     undefined reference to 'shared_para_ipl_init_dst'
     undefined reference to 'shared_para_port_init_dst'
     undefined reference to 'shared_sock_pipe'
   Cela signifie que monprog a besoin des modules shared_lcrzoex
   shared_para et shared_sock.
 - copier shared_lcrzoex.c, shared_para.c et shared_sock.c dans
   /data/work/shared :
     cp /src/lcrzoex-4.xx-src/src/shared/shared_lcrzoex.c /data/work/shared
     cp /src/lcrzoex-4.xx-src/src/shared/shared_para.c /data/work/shared
     cp /src/lcrzoex-4.xx-src/src/shared/shared_sock.c /data/work/shared
 - editer monprog.c afin d'y ajouter les inclusions des trois 
   modules (juste apres la ligne #include "lcrzoex.h") :
     #include "shared/shared_lcrzoex.c"
     #include "shared/shared_para.c"
     #include "shared/shared_sock.c"
 - compiler avec :
     gcc -Wall -ansi -o monprog monprog.c `lcrzo-config -lc` 
 - on obtient alors les erreurs suivantes :
     undefined reference to 'shared_misc_checkadmin'
     undefined reference to 'shared_misc_userstop3_printmsgtest'
     ...
   Cela signifie que monprog a aussi besoin du module shared_misc.
 - copier shared_misc.c dans /data/work/shared :
     cp /src/lcrzoex-4.xx-src/src/shared/shared_misc.c /data/work/shared
 - editer monprog.c afin d'y ajouter l'inclusion de shared_misc.c :
     #include "shared/shared_misc.c"
 - compiler avec :
     gcc -Wall -ansi -o monprog monprog.c `lcrzo-config -lc` 
 - il n'y a plus d'erreur. Selon les outils, il se peut qu'il y ait
   encore des erreurs. Dans ce cas, il suffit de copier les modules
   necessaires comme on vient de le faire.
 - executer le programme avec :
    ./monprog

Maintenant votre programme monprog.c compile independamment de lcrzoex.
Vous pouvez alors reorganiser les fonctions et les adapter a votre
besoin.

