Acá, algunos tips para compilar un programita con módulos:
Tengo dos fuentes, uno es el principal (main.f95) y otro es un módulo (my_mod.f95).
1) Creo el código objeto de cada uno:
$f95 -g -c -o my_mod.o my_mod.f95
$f95 -g -c -o main.o main.f95
Esto me genera los archivos objeto cuyo nombre se especificó en la opción -o y además me genera para el módulo un archivo extensión .mod (my_mod.mod)
2) Ahora lo compilo (enzalandolos y generando el ejecutable a partir de los objetos anteriores):
$f95 -o main.exe main.o my_mod.o
Ahora, uno con varios modulos:
1) Un modulo:
f95 -g -c -o my_random_module.o my_random_module.f95
2) Otro modulo:
f95 -g -c -o tri_modules.o tri_modules.f95
3) El que usa los modulos:
f95 -g -c -o ej_tres.o ej_tres.f95
4) Enlazo todo:
f95 -o ej_tres ej_tres.o my_random_module.o tri_modules.o