gg=mpif90
DEPS=matrix.mod
OBJ= main.o sub1.o
main.out: $(OBJ)
$(gg) -o [email protected] $^
%.mod:%.90 %.o
$(gg) -c -o [email protected] $^
%.o:%.f90 $(DEPS)
$(gg) -c -o [email protected] $^
.PHONY: clean
clean:
-rm -f *.o *~
Schauen. Das Hauptprogramm ist main.f90
. sub1.f90
wird von main.f90
aufgerufen werden. Beide werden matrix.f90
verwenden, was ein Modul ist. Ich weiß, dass ich das ausführbare Programm ohne compile then link
direkt erzeugen kann. Aber ich mag das nicht.Wie schreibt man ein Makefile für Fortran mit Modulen?
Schwierige Frage: Das Problem ist, dass der Name der '.mod' Dateien vom Compiler abhängt. Ich bin mir nicht sicher, ob der Standard dem zustimmt. –