Oui, il ne suffit pas de changer le nom du compilateur, il faut aussi adapter les options de compilation, c'est à dire modifier le Makefile comme suit:
1 2 3 4 5 6
|
F90 = g95
F90FLAGS = -O3 -fbackslash -ffree-form
LD = g95 |
Mais ce n'est pas tout, si on tente alors un 'make all', ça plante ... parce que la fonction 'second' (fichier second.f) n'est pas portable (ainsi qu'il est signalé dans la doc.); il faut la remplacer par:
1 2 3 4 5 6 7 8 9
|
FUNCTION SECOND ()
DOUBLE PRECISION SECOND, T(2)
! Set ETIME to either ETIME or ETIME_ .
SECOND = ETIME(T)
RETURN
END |
c.-à-d.: changer la definition de 'T' en 'T(2)' et 'ETIME_(T)' en 'ETIME(T).
Et là, le 'make all' fonctionne (j'ai testé dans le repertoire 'f90'), enfin, à quelques:
Warning (155): Inconsistent types (TYPE(mp_realm)/TYPE(mp_real)) in actual argument lists
avertissements qui sont possiblement sans conséquences.
La compilation des différents exemples met un certain temps mais tout semble bien se dérouler; j'ai vérifié que le programme test 'tmpmod90' génère bien des sorties prévues (données dans le fichier 'tmpmod.out' fourni).
Reste à apprendre à maitriser la bête, mais la doc et les exemples fournis semblent assez complets, du moins à première vue.
Bon courage et bonne continuation.
Partager