




![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
 Suiv.:  7.2 Autres informations
Sup.:   Procédure d'installation sous UNIX
 Préc.:   Procédure d'installation sous UNIX
Table des matières
   
L'installation s'effectue avec l'aide d'un Makefile,
et se décompose en deux étapes:
-  Création du Makefile d'installation,
  
-  Installation : exécution du Makefile.
Cette étape est  réalisée après la lecture de la bande, il
suffit de lancer, dans le répertoire  make,  la commande :
- % make
-    
  
A l'issue de cette première commande un message d'erreur du typeLa variable MR n'est pas initialisee dans le fichier Makefile
Elle doit avoir pour valeur /udd/modulef
make: *** [verification] Error 1
va sûrement apparaître.
 
Dans cet exemple, on a supposé que la cassette avait été lue 
dans le répertoire  /udd/modulef.
Vous devez alors dans le fichier  Makefile du répertoire courant
initialiser la variable MR au nom du répertoire où a été
installé Modulef.
Vous pouvez alors relancer cette même commande :
- % make
-    
  
Tant que la variable MR ne sera pas correctement initialisée, un message de même type 
que celui cité précédemment apparaîtra et vous
ne pourrez poursuivre l'installation.
 
La variable  correctement initialisée, le Makefile vous demande
sur quelle type machine vous effectuez l'installation, et pour vous aider à répondre
il va vous proposer le nom de plusieurs  types de machines.
 Votre réponse est très importante car
elle permet d'initialiser la variable MM, et cette dernière permet 
entre autres de sélectionner la bibliothèque contenant les utilitaires
spécifiques à la machine. Si votre machine n'apparaît pas dans la
liste, il vous est alors nécessaire de réécrire
l'utilitaire spécifique à votre machine en vous inspirant des 
bibliothèques  u_mod et  u_rs6000 (cf § 9.2).   
 
Lorsque la variable MM est initialisée, le Makefile  effectue les actions
suivantes :
-  création du répertoire Install $MM dans le répertoire courant ($MR/make),
-  création des fichiers  Makefile et  M_config
dans le répertoire Install $MM. 
Le fichier  Makefile contient le makefile d'installation, 
et toutes les variables nécessaires à l'installation sont 
initialisées dans le fichier  M_config
 (qui est lue par le Makefile). 
 
 
Ces actions effectuées, le Makefile vous donne quelques instructions
pour la suite :-  changer de répertoire ( cd Install $MM)
-  consulter le fichier  M_config contenu dans ce répertoire,
-  relancer le makefile ( make).
Nous allons maintenant reprendre un à un  chacun de ces points :-  changer de répertoire ( cd Install $MM)
 On se met  dans le répertoire dans lequel on va poursuivre l'installation,
-  consulter le fichier  M_config contenu dans ce répertoire,
 Il est préférable, avant de poursuivre l'installation, d'éditer le
fichier  M_config afin d'initialiser correctement le contenu des
variables :- MR :
-  racine du répertoire ou est installé modulef,
- MM :
-  type de la machine (sun, hp70, ...),
- MV :
-  nom de la version (sta),
- SHELL :
-  type de shell utilisé ( /bin/sh)
- F77 :
-  commande de compilation  Fortran,
- F77FLAGS :
-  options de compilation pour le Fortran,
- CC :
-  commande de compilation C,
- CCFLAGS :
-  options de compilation pour le C,
- CIFLAGS :
-  chemin de recherche pour les fichiers d'include lors de la compilation des sources C,
- LINK :
-  commande d'édition de liens pour créer les exécutables,
- CPPFLAGS :
-  chemin de recherche des librairies objets,
- STDLIB :
-  bibliothèques à inclure lors de l'édition de lien. Les bibliothèques à inclure
dépendent très fortement  des périphériques graphiques que vous choisirez par la suite (la liste 
des périphériques graphiques disponibles est donnée en annexe F) ; par défaut l'initialisation de cette variable correspond 
au choix des périphériques graphiques  X11 et  postscript
- AR :
-   commande d'archivage pour les fichiers objets,
- ARFLAGS :
-  option d'archivage pour les fichiers objets,
- RANLIB :
-  modifie les archives objets afin que les éditions
de liens  soient   plus rapides. En général, cette variable aura pour 
valeur  ranlib, excepté sur les machines où cette commande n'existe pas (silicon),
dans ce cas là cette variable sera initialisée à une
chaîne de caractères vide  ( RANLIB=) ;
- LANGUAGE :
-  si le contenu de cette variable est vide, le
Makefile ne fait rien, il conserve la langue d'origine,
-   LANGUAGE=GB : traduction des format en anglais
-   LANGUAGE=F : traduction des format en français
 Pour des raisons  historiques, initialisez aussi  
la fonction  iinfo (bibliothèque u_$MM)  
 à 1 pour le mot-clé  LANGUE,  si vous désirez travailler
avec la version anglaise de Modulef.
- BLAS :
-  indique si la bibliothèques 
BLAS (Basic Linear Algebra
 Software) existe déjà dans le système, il est alors inutile de
 compiler la bibliothèque blas_mod (par exemple sur cray) ;
 
- ZZZZ :
-  variable indiquant si la bibliothèque
 zzzz_mod contenant les sous-programmes utilisateurs sera compilé.
 Si votre machine accepte les références insatisfaites
 il est inutile de compiler zzzz_mod et, dans ce cas ZZZZ est initialisé à une
chaîne de caractères vide  (ZZZZ =) ;
 
- FF3D :
-  nom de la bibliothèque qui contiendra les sous-programmes interfaçant
 Fortran 3D et
Modulef (p_l $MM),
 
- UTIL :
-  nom de la bibliothèque contenant les utilitaires spécifiques
à la machine d'installation (en général u_ nom de la machine),
 
- PPAL :
-  la variable PPAL indique quels exécutables vous désirez créer.
Par défaut on initialise PPAL à la liste des exécutables les plus couramment
utilisés, mais vous pouvez lui donner les valeurs que vous désirez :
-  PPAL=tout 
 pour effectuer l'édition de lien de tous les exécutables contenus dans 
la bibliothèque ppal.
 Si vous décidez d'effectuer l'édition de liens de tous les exécutables contenus
dans la bibliothèque ppal, assurez vous que vous avez un espace disque suffisant (environ 100 Mo).
-   PPAL=PP_nofoxx PP_toutxx 
 les exécutables nofoxx toutxx seront créés.
 
- MAXSUB :
-   cette variable, utilisée pour la compilation des
bibliothèques, indique de combien de fichiers, au
maximum  peut dépendre une librairie ; si une bibliothèque Modulef
contient un nombre  de fichiers  supérieur à MAXSUB alors la mise
à jour de cette librairie sera gérée par plusieurs Makefile.
 La valeur de MAXSUB est à modifier (à diminuer) uniquement si lors de la
compilation des bibliothèque vous avez un message d'erreur du typeMake: Expanded macro line is too long.  Stop.
*** Exit 1
Stop.
*** Exit 1
Stop.
 Pour plus de détails consultez l'annexe D.2.2.
- TYPEMAKE :
-  cette variable est liée à la commande  make que
vous allez utiliser pour installer Modulef.
 Par défaut, on suppose que cette commande accepte la syntaxe%.f%.o:et TYPEMAKE est initialisé àmakeMakefile. Si ce n'est pas
le cas (un message d'erreur signalant des problèmes à la lecture
de la syntaxe
 [4]%.f%.o:apparaîtra lors de la compilation des
bibliothèques)
initialisez alors cette variable àmakeMakefile.bb.
- MAJMIN :
-  cette variable contient la commande permettant de
transformer des caractères majuscules en caractères minuscules.
Cette variable est utilisée lors de la création des Makefile
des bibliothèques  test et  ppal.
Normalement cette variable est initialisée automatiquement, cependant
il est possible, sur certains systèmes d'exploitation,  que cette
initialisation automatique ne se fasse pas.
Dans ce cas, le Makefile vous l'indique et vous  devez rechercher la commande, qui sur votre
système, permet de  réaliser cette opération.
 Ensuite initialisez la variable
MAJMIN  du fichier
 $MR/make/Install$MM/M_configà cette commande.
 Lors de la recherche de cette commande, vous pouvez utiliser les fichiers :-   $racine/make/test_majcontient un  texte en majuscules
-   $racine/make/test_mincontient le même texte en minuscules
 
 
 Note : 
  Si vous modifiez la valeur de certaines variables, il ne faut pas mettre
ces valeurs entre quotes car cela pourrait engendrer des erreurs par
la suite.
  La valeur  de la variable MAJMIN doit être mise entre quotes.
 
 
 
  Le fichier Makefile consulté, vous pouvez poursuivre
l'installation :
 
 
-  relancer le makefile ( make)
 On est alors dans la deuxième partie du makefile : l'installation proprement dite.
  C'est pendant cette phase que s'effectue réellement 
  l'installation (traduction, compilation, création des exécutables ... ). 
 
  Tout au cours de cette phase, on reste dans le répertoire d'installation soit : 
 
  $MR/make/Install type de la machine.
 
  Au cours de cette phase, le Makefile va s'interrompre au moins une fois.
Cette interruption vous permet de sélectionner les périphériques
graphiques. Ce choix s'effectue dans le fichier  periphin.in ; par défaut
les périphériques graphiques  x11 et  postscript (cf annexe F)
sont sélectionnés. 
-   Si ce choix vous convient, vous pouvez dès maintenant poursuivre l'installation, il vous suffit de
relancez la commande  make,
-   sinon, vous devez éditer le fichier  periphin.in et, à l'endroit indiqué,
après la ligne :
 # INSEREZ LA LISTE DES PERIPHERIQUES : (ne pas mettre le caractere diese en debut de ligne)
 il vous suffit de remplacer x11 et postscript par les périphériques graphiques
que vous désirez utiliser par la suite (vérifiez que la valeur de la variable  STDLIB,
est compatible avec votre choix de périphériques).
 Vous pouvez ensuite poursuivre l'installation, il vous suffit de
relancez la commande  make.
L'exécution du makefile va maintenant se poursuivre, le makefile va tour à tour :
-   traduire les format d'impressions, si la variable LANGUAGE
n'est pas initialisée à une chaîne de caractère vide,
-   créer les librairies objets, (cible  librairies)
 pour cela, le makefile écrit  et exécute, dans chacune des
bibliothèques à compiler, un Makefile permettant de compiler les
sources de la 
bibliothèque et de ranger les objets dans des archives.
Si vous exécutez plusieurs fois une cible, le Makefile vérifie
toutes les dépendances et ne fait rien si tout est à jour, ou
recompile uniquement ce qui a été modifié.
 Chacun des Makefile écrits dans les bibliothèques sources peut
aisément être réutilisé si vous faites des installations sur différentes
machines sans dupliquer les sources.
 Au cours de la compilation tous les messages d'erreurs sont redirigés
dans des fichiers :-   output_compil contient tous les messages du compilateur,
-   erreur_compil contient la liste des procédures qu'il
est nécessaire de recompiler (si ce fichier n'existe pas, cela veut
dire que toutes les
compilations se sont déroulées correctement).
 Au cours de la compilation, dans le répertoire courant $MR/make/Install$MM, est créé
un répertoire portant le nom de la bibliothèque compilée, ce
répertoire contient temporairement les fichiers objets avant qu'ils
ne soient rangés dans une librairie.
 Si une interruption survient lors de la compilation, les fichiers déjà compilés
ne sont pas perdus. En effet, lorsque que vous relancez le makefile, pour chacune des bibliothèques,
celui-ci va vérifier si un répertoire du même nom n'existe pas dans 
le répertoire courant  ($MR/make/Install$MM) ;
et si c'est le cas, avant d'effectuer les compilations il va archiver les objets contenus
dans le répertoire.
 
-  effectuer les éditions de liens (cible  executables),
 comme précédemment (cible  librairies), des Makefile sont écrits,
ceux-ci donnent les dépendances entre 
les librairies objets et les programmes principaux contenus dans 
les bibliothèques test et ppal ;
 de cette manière, les éditions de liens se font uniquement avec
les bibliothèques 
nécessaires (elles seront donc plus rapides).
 
Au cours de l'exécution de cette cible,  plusieurs actions sont
donc effectuées : 
 -  dans un premier temps, afin de produire les Makefiles des bibliothèques ppal et test, 
 les programmes exécutables procat et proimp sont créés,
 (il est impératif que la  création et l'exécution de ces deux programmes
se déroulent bien, sinon l'installation ne peut pas se poursuivre).
-   les programmes principaux contenus dans la variable PPAL  sont
créés, 
-  les programmes de test (contenus dans la bibliothèque test)
sont eux aussi créés, 
-  enfin, les  fichiers en accès direct poba.direct et pobv.direct nécessaires lors de l'utilisation 
de certains éléments finis vont être créés.
 





![[BIG]](../icons/zoom18.gif)
![[Normal]](../icons/zoom14.gif)
![[small]](../icons/zoom10.gif)
 Suiv.:  7.2 Autres informations
Sup.:   Procédure d'installation sous UNIX
 Préc.:   Procédure d'installation sous UNIX
Table des matières