Makefile mod编译规则

Makefile mod编译规则,makefile,gnu-make,modulefile,Makefile,Gnu Make,Modulefile,我正在修改代码的makefile。编译后,我看到生成了一些*.mod文件。通过在线查看,我发现它们是模块文件,但我没有看到它们的编译规则。我正在尝试更改生成这些文件的目录。我可以更改对象文件的规则,但找不到生成*.mod文件的规则 看看makefile,有人能告诉我这个文件中的一行是否生成了它们,或者如何更改它们的目录吗。以下是生成文件: #GNU生成文件 #路径 SDIR=/求解器 ODIR=/obj _案例=/工作案例/问题 案例=$(SDIR)/$(案例) 顶部=。 FC=ifort FF

我正在修改代码的makefile。编译后,我看到生成了一些*.mod文件。通过在线查看,我发现它们是模块文件,但我没有看到它们的编译规则。我正在尝试更改生成这些文件的目录。我可以更改对象文件的规则,但找不到生成*.mod文件的规则

看看makefile,有人能告诉我这个文件中的一行是否生成了它们,或者如何更改它们的目录吗。以下是生成文件:

#GNU生成文件
#路径
SDIR=/求解器
ODIR=/obj
_案例=/工作案例/问题
案例=$(SDIR)/$(案例)
顶部=。
FC=ifort
FFLAGS=-fpp-O1-DPTR_整数8-warn nousage
#定义要生成的规则。f90
$(ODIR)/%.o:$(SDIR)/%.f90
$(FC)-c$(FFLAGS)$<-o$@
#设置可执行文件名
EXEC=$(dir${CASE})/$(basename$(notdir${CASE})).out
#共享全局变量
_SHARED_OBJ=共享_模块.o主变量.o调试变量.o
共享对象=$(patsubst%,$(ODIR)/%,$(共享对象))
OBJ=${u SHARED\u OBJ}$(\u CASE).PARAMS.o
OBJ=$(patsubst%,$(SDIR)/%,$(_OBJ))
MAIN_OBJ=$(ODIR)/MAIN.o
main:${SHARED_OBJ}$(OBJ)$(main_OBJ)
$(FC)${FFLAGS}$(OBJ)$(MAIN_OBJ)-o$(EXEC)-lstdc++-共享英特尔

您可以使用-module编译器选项指定.mod文件的目标目录

-module <directory> 
-模块
请参阅ifort文档:

您可以使用模块路径编译器选项指定目录 在其中创建模块文件。如果不使用此选项, 模块文件在当前目录中创建