我正在查看 Makefile 以找出我的问题。我的问题是编译中包含两个目录,它们具有完全相同名称的 fortran 源文件,编译本身如何决定使用哪个源文件。至于我的情况,这两个目录是 /dir1/ 和 /dir2/。两者都有一个名为 test.F90 的 fortran 文件,并且两个目录都包含在包含目录中。那为什么编译/dir1/test.F90而不是/dir2/test.F90。Makefile 代码提取是
SOURCES := $(shell cat Srcfiles)
OBJS := $(addsuffix .o, $(basename $(SOURCES)))
.F90.o:
$(FC) -c $(INCLDIR) $(INCS) $(FFLAGS) $(FREEFLAGS) $<
部分真实编译如下所示:
mpif90 -c -I/dir1/ -I/dir2 ... /dir1/test.F90
在 Srcfiles 中,所有 Fortran 文件的列表为
test.F90
test1.F90
...
还有一个名为 Filepath 的文件将文件目录列为
/dir1/
/dir2/
/dir3/
我提供了与我的问题相关的尽可能多的内容,您能否指出我如何解决我的问题的方向?