Вы можете указать gfortran, где находятся файлы вашего модуля (файлы .mod), с флагом -I
compiler. Кроме того, вы можете указать компилятору, куда поместить скомпилированные модули с флагом компилятора -J
. См. Раздел «Параметры поиска в каталоге» на справочной странице gfortran .
Я использую их, чтобы поместить и мой объект (файлы .o), и файлы моего модуля в один каталог, но в другой каталог со всеми моими исходными файлами, поэтому я не загромождаю свой исходный каталог. Например,
SRC = /path/to/project/src
OBJ = /path/to/project/obj
BIN = /path/to/project/bin
gfortran -J$(OBJ) -c $(SRC)/bar.f90 -o $(OBJ)/bar.o
gfortran -I$(OBJ) -c $(SRC)/foo.f90 -o $(OBJ)/foo.o
gfortran -o $(BIN)/foo.exe $(OBJ)/foo.o $(OBJ)/bar.o
Хотя вышеприведенное выглядит как много усилий для ввода в командной строке, я обычно использую эту идею в моих make-файлах.
Только для справки, эквивалентные флаги компилятора Intel Fortran: -I
и -module
. По сути, ifort заменяет параметр -J
на -module
. Обратите внимание, что после модуля есть пробел, но не после J.