我正在使用 Intel Fortran 2012 编译器的标准 Unix 环境中工作。因为我的代码有一些旧.f
文件和一些新.f90
文件,所以makefile按以下结构组织,
f_sources= ... ...
f90_sources= ... ...
f_objects = $(patsubst %.f,%.o,$(f_sources))
f90_objects = $(patsubst %.f90,%.o,$(f90_sources))
$(f_objects): %.o: %.f
@echo compiling $<
$(FC) $(FC_FLAGS) -c $< -o $@
# compile f90 files:
$(f90_objects): %.o: %.f90
@echo compiling $<
$(FC) $(FC_FLAGS) -c $< -o $@
问题是,很少有奇怪.f
的文件依赖于某些.f90
文件中定义的模块,然后编译器似乎无法检测到依赖关系,因为我首先编译了所有.f
文件......
Error in opening the compiled module file. Check INCLUDE paths.
有没有办法解决这个问题?