我有这样的目录结构:
main/
foo.f90
bar.f90
main/stuff
floop.f90
foo.f90
包含一个 PROGRAM
,它通过 bar.f90
关键字包含 USE
的功能,而 bar.f90
通过 {{ 包含 floop.f90
的功能1}}
我的 Makefile 看起来像:
USE
尝试 # define objects, mods
objects: foo.o bar.o floop.o
mods: foo.mod bar.mod floop.mod
FC = gfortran
# make
foo: $(objects)
$(FC) -o foo $(objects)
floop.o : stuff/floop.f90
$(FC) -c stuff/floop.f90
bar.o : bar.f90
$(FC) -c bar.f90
foo.o : bar.o floop.o foo.f90
$(FC) -c foo.f90
这个,但我从 make
来源收到错误:
bar.f90
如何让 gfortran 知道该模块的位置?据我了解,默认情况下,gfortran -c bar.f90
use floop
1
Fatal Error: Can't open module file 'floop.mod' for reading at (1): No such file or directory
文件是在当前工作目录中创建的,因此我认为通过显式指向 mod
处的源来正确构建 floop.o
目标就足够了.