[英]makefile .mod compilation rule
我正在修改代码的makefile。 编译后,我看到生成了一些* .mod文件。 在网上查看时,我发现它们是模块文件,但没有看到针对它们的编译规则。 我正在尝试更改在其中生成这些文件的目录。 我可以更改目标文件的规则,但是找不到生成* .mod文件的规则。
查看makefile,有人可以建议我该文件中的一行是否生成它们,或者如何更改其目录。 这是makefile:
# GNU Makefile
# Paths
SDIR=./solver
ODIR=./obj
_CASE=./WorkCases/problem
CASE=$(SDIR)/$(_CASE)
TOP = .
FC = ifort
FFLAGS = -fpp -O1 -DPTR_INTEGER8 -warn nousage
# Define rule to make .f90
$(ODIR)/%.o : $(SDIR)/%.f90
$(FC) -c $(FFLAGS) $< -o $@
# set executable name
EXEC = $(dir ${CASE})/$(basename $(notdir ${CASE})).out
# shared global variables
_SHARED_OBJ = shared_modules.o main_vars.o debug_vars.o
SHARED_OBJ = $(patsubst %,$(ODIR)/%,$(_SHARED_OBJ))
OBJ = ${_SHARED_OBJ} $(_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++ -shared-intel
您可以使用-module编译器选项为.mod文件指定目标目录。
-module <directory>
请在此处查看ifort文档:
您可以使用模块路径编译器选项来指定在其中创建模块文件的目录。 如果不使用此选项,则在当前目录中创建模块文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.